Чтобы установить Deckhouse, необходимо запустить установщик командой:
docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" \
-v "$PWD/resources.yml:/resources.yml" -v "$PWD/dhctl-tmp:/tmp/dhctl" registry.deckhouse.io/deckhouse/ce/install:stable bash
docker run
— запуск Docker-контейнера;--pull=always
— указание Docker’у всегда обновлять локальный образ;-it
— запуск контейнера в интерактивном режиме;-v "$PWD/config.yml:/config.yml"
— монтирование файла конфигурации из текущей директории в корень контейнера;-v "$HOME/.ssh/:/tmp/.ssh/"
— монтирование SSH-ключей в /tmp/.ssh контейнера из домашней директории пользователя ПК, с которого производится установка;-v "$PWD/resources.yml:/resources.yml"
— монтирование файла ресурсов из текущей директории в корень контейнера;-v "$PWD/dhctl-tmp:/tmp/dhctl"
— создание директории для временных файлов установщика;registry.deckhouse.io/deckhouse/ce/install:stable
— образ Deckhouse.
После этого внутри контейнера необходимо выполнить команду:
dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml --resources=/resources.yml
--ssh-user=ubuntu
— пользователь по умолчанию для выбранного образа;--ssh-agent-private-keys=/tmp/.ssh/id_rsa
— приватная часть SSH-ключа (его публичную часть мы добавляли вconfig.yml
), который используется для доступа на сервер по SSH во время установки;--config=/config.yml
— конфигурационный файл кластера;--resources=/resources.yml
— файл с ресурсами кластера.
После выполнения этой команды установщик заказывает в облаке все необходимые ресурсы и master-узлы и дожидается, пока узлы запустятся и будут доступны по SSH.
После этого он устанавливает на эти master-узлы Deckhouse. Установка в среднем занимает 10–15 минут.
Когда запускается основной контроллер Deckhouse, установщик начинает добавлять группы узлов, указанные в файле resources.yml
.
Это занимает некоторое время в зависимости от количества заказанных ресурсов.
Установщик убеждается, что все заказанные ресурсы добавлены в кластер, а затем завершает свою работу, сообщив адрес master-узла.
Итак, Deckhouse установлен. Теперь мы можем получить доступ к кластеру и его веб-интерфейсам.