На текущий момент графический установщик поддерживает не все платформы. Установить DKP с его помощью возможно в следующие окружения:

  • Bare metal (выделенные хосты)
  • Yandex Cloud
  • OpenStack
  • Selectel (OpenStack)
  • VK Cloud (OpenStack)
  • VMware vCloud Director.

Поддерживаются все редакции от CE до EE, включая Deckhouse Certified Security Edition (bare metal).

Внимание. Установка Deckhouse Certified Security Edition с помощью графического установщика не сертифицирована и допускается только для целей тестирования.

  1. Запустите docker на вашем компьютере
  2. Запустите установщик

    Если у вас компьютер на базе Apple Silicon, то перед запуском контейнера убедитесь, что в настройках Docker Desktop включена Rosetta.

    Как включить Rosetta…

    1. Перейдите в настройки Docker Desktop, нажав на значок шестерёнки в правом верхнем углу главного окна программы.
    2. На вкладке «General» найдите раздел «Virtual Machine Options».
    3. Включите пункт «Use Rosetta for x86_64/amd64 emulation on Apple Silicon». Включение Rosetta в настройках Docker Desktop

    Выполните команду:

    docker run --rm --pull always -v $HOME/.d8installer:$HOME/.d8installer -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 registry.deckhouse.ru/deckhouse/installer:latest -r $HOME/.d8installer
    

    Начиная с версии 0.5.0 установщик можно установить на вашу машину с помощью trdl.

    1. Установите клиент trdl.
    2. Добавьте репозиторий Deckhouse CLI в trdl:

      URL=https://deckhouse.ru/downloads/deckhouse-installer-trdl
      ROOT_VERSION=1
      ROOT_SHA512=62e4b351bd06ee962dca92c0650ecbd2bceca9a78c125836fa62186b046f07257015929c853eb8a6241d90d59b2995bb028389cdb30bfa9c0991b10ddc2c57bc
      REPO=d8-installer
      trdl add $REPO $URL $ROOT_VERSION $ROOT_SHA512
      
    3. Установите последний выпуск установщика с канала early-access и проверьте его работоспособность:

      . $(trdl use -d d8-installer 0 ea) && d8install version
      

      Если вы не хотите вызывать . $(trdl use -d d8-installer 0 ea) перед каждым использованием установщика, добавьте строку source $(trdl use -d d8-installer 0 ea) в RC-файл вашей командной оболочки.

    Скачайте установщик: darwin-arm64 darwin-amd64

    Запустите его, выполнив команды ниже:

    chmod +x d8install
    xattr -c d8install
    ./d8install -b
    

    Выполните команду:

    docker run --rm --pull always -v $HOME/.d8installer:$HOME/.d8installer -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 registry.deckhouse.ru/deckhouse/installer:latest -r $HOME/.d8installer
    

    Начиная с версии 0.5.0 установщик можно установить на вашу машину с помощью trdl.

    1. Установите клиент trdl.
    2. Добавьте репозиторий Deckhouse CLI в trdl:

      URL=https://deckhouse.ru/downloads/deckhouse-installer-trdl
      ROOT_VERSION=1
      ROOT_SHA512=62e4b351bd06ee962dca92c0650ecbd2bceca9a78c125836fa62186b046f07257015929c853eb8a6241d90d59b2995bb028389cdb30bfa9c0991b10ddc2c57bc
      REPO=d8-installer
      trdl add $REPO $URL $ROOT_VERSION $ROOT_SHA512
      
    3. Установите последний выпуск установщика с канала early-access и проверьте его работоспособность:

      . $(trdl use -d d8-installer 0 ea) && d8install version
      

      Если вы не хотите вызывать . $(trdl use -d d8-installer 0 ea) перед каждым использованием установщика, добавьте строку source $(trdl use -d d8-installer 0 ea) в RC-файл вашей командной оболочки.

    Скачайте установщик: amd64

    Запустите его, выполнив команды:

    chmod +x d8install
    ./d8install -b
    

    Перед запуском контейнера убедитесь, что у вас установлен Docker Desktop и включена подсистема WSL2.

    Выполните команду. Если вы работаете в командной строке:

    docker run --rm --pull always -v /mnt/host/c/Users/%USERNAME%/.d8installer:/mnt/host/c/Users/%USERNAME%/.d8installer -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 registry.deckhouse.ru/deckhouse/installer:latest -r /mnt/host/c/Users/%USERNAME%/.d8installer
    

    Если вы работаете в Power Shell:

    docker run --rm --pull always -v /mnt/host/c/Users/$env:USERNAME/.d8installer:/mnt/host/c/Users/$env:USERNAME/.d8installer -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 registry.deckhouse.ru/deckhouse/installer:latest -r /mnt/host/c/Users/$env:USERNAME/.d8installer
    
  3. Откройте http://localhost:8080
  4. Выполните следующие шаги:

    1. На главной странице нажмите кнопку «Установить Deckhouse Kubernetes Platform».

    2. Выберите базовые параметры установки:

      • Редакцию платформы. По умолчанию выбрана Community Edition, выбрать подходящую редакцию можно в выпадающем списке «Добавить источник» в центре.
        При выборе редакции, отличной от Community Edition, введите в открывшемся окне название (любое) и полученный ключ лицензии.
      • Канал обновления Deckhouse Kubernetes Platform. По умолчанию выбран Stable.
      • Версию Kubernetes. По умолчанию выбран режим «Авто», в котором выбирается текущая актуальная версия.

      Затем нажмите кнопку «Инфраструктура» для перехода к следующему шагу.

    3. В выпадающем списке «Добавьте инфраструктуру» в верхней части страницы выберите «SSH на Bare metal».

    4. В открывшемся справа окне «SSH» введите:

      • Имя — название для ключа SSH, по которому будет осуществляться доступ к bare-metal-серверу.
      • Имя пользователя — имя пользователя, под которым будет осуществляться вход по SSH на машины для будущих узлов кластера.
      • Пароль пользователя (для sudo) — пароль пользователя, если установлен. Будет использоваться для повышения привилегий через sudo. Оставьте пустым, если для sudo не требуется пароль.
      • Приватный ключ — приватная часть SSH-ключа, с помощью которого будет осуществляться подключение к машинам.

        Как узнать приватный ключ...

        Приватный ключ лежит в файле ~/.ssh/id_rsa. Получить его можно командой cat ~/.ssh/id_rsa. Пример вывода:

        $ cat ~/.ssh/id_rsa
        -----BEGIN OPENSSH PRIVATE KEY-----
        b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
        NhAAAAAwEAAQAAAYEArNTeZ5+4HBiqbNji3kwh+hzdqd0yKR3MtQvQkAbtsoe5PqZ9ItN0
        jGnRRD6HtLKOBt2cJsBqVfRinJq5yE1/9fGQtUkyxiYphwRl4pnr9+6iOvw+TmmyfOhKv6
        dIsagnXwRKye/x/6My8t19Qik4Z/+YqLYmz978Po8xVp5ni38m4Gd9NN6vU+ANVOGfZFLS
        5FDMsc92tGcUVa1dP4gEnaMNi3JHOgfdgTAHbyCNCUU/HhZ6QvbUIq0lAFG7ZVyhjNvcQG
        kJWEHzpvvEbl5HGtOwSdXd/WIa4Y+gNtYB3XFCmDE9IkbOkfN1Ec9+r3ORVtBVNXvgyL11
        EP9UGUUOpd/RbB0zgGzXwghjCbtjCGp644CQCNFnsNNLfpD8ByvxoLc2BvAce2CyWg4HwB
        9WQSrJfSsTw9pHXbeUtMXmA6Npef4+z98Jmf8eMjob5pQlrLrjiK98KVV83cGSlPYFEEEY
        ...
        wTE6tai//nIkG5P7+xfFbVmDMhnfDCNAHGwtcPWIe7IF3i0HdXclrhj7V2RdmRjLfvVvP8
        kojuXUdIiqqlKxinen+GQZmAdZHvSLnT9VVKUvgFENhxK9XE7ZU1z/j9/rNg1BoJxhDkdF
        vSIH/QtZr3hNkAAAAjemhiZXJ0QE1hY0Jvb2stUHJvLUtvbnN0YW50aW4ubG9jYWw=
        -----END OPENSSH PRIVATE KEY-----
        
        

        Полностью скопируйте полученный текст в поле на форме, включая строки -----BEGIN OPENSSH PRIVATE KEY----- и -----END OPENSSH PRIVATE KEY-----.

      • Порт — порт для SSH-подключения. Оставьте значение по умолчанию, если на машине не задан нестандартный порт.
      • Использовать jump-хост — настройки jump-хоста. Если вы не используете промежуточный сервер для доступа к ресурсам в закрытой сети, не включайте этот ползунок. Если используете — включите и введите настройки в открывшемся окне.

      Нажмите кнопку «Сохранить».

    5. Созданная инфраструктура отобразится в списке на главном экране. Выберите нужный пункт (если создано несколько вариантов) и нажмите кнопку «Параметры кластера».
    6. Задайте название кластера и укажите IP-адреса машин для будущих узлов кластера.
      Удалить лишние узлы можно, нажав на красный значок корзины возле поля для ввода IP-адреса.
      Расширенные параметры будущего кластера, такие как прокси-сервер или настройка подсетей, доступны по нажатию на кнопку «Дополнительные настройки».

      Для чего нужна продвинутая конфигурация...

      Кнопка «Продвинутая конфигурация» в левой части экрана позволяет просмотреть и скачать сгенерированные YAML-файлы конфигурации. Это может понадобиться для того, чтобы вручную запустить dhctl с использованием этих файлов. Как выглядит окно расширенных продвинутой конфигурации...

      Нажмите кнопку «Установить». Установка запустится, на странице будет отображён прогресс установки в процентах и краткий лог процесса.
      Полный лог можно увидеть, нажав на кнопку «Открыть лог». Процесс установки может занять от 5 до 30 минут, в зависимости от качества соединения и количества настраиваемых узлов.
    7. Кластер DKP развёрнут! 🎉 Перейдите к завершению установки.
    8. Откройте консоль управления, нажав на кнопку «Подключиться и открыть» в строке с созданным кластером на главном экране. В этом же окне откроется веб-интерфейс управления установленным кластером DKP. Выполните следующие шаги:
      1. Установите Ingress-контроллер.
        Перейдите в раздел «Сеть» → «Балансировка» → «Ingress-контроллеры» и создайте там новый Ingress-контроллер, нажав на кнопку «Добавить» и выбрав пункт «Порт хоста». Введите название и нажмите кнопку «Создать».
        Если вам необходимо включить HTTPS-доступ к компонентам кластера, включите его в разделе «Cертификат по умолчанию».
      2. Настройте шаблон DNS-имён, который будет использоваться для компонентов кластера.
        Шаблон DNS-имен используется для настройки Ingress-ресурсов системных приложений. Например, за интерфейсом Grafana закреплено имя grafana. Тогда, для шаблона %s.kube.company.my Grafana будет доступна по адресу grafana.kube.company.my, и т.д.
        Перейдите в раздел «Deckhouse» → «Глобальные настройки» и введите нужный шаблон в поле «Шаблон DNS-имен».
    1. На главной странице нажмите кнопку «Установить Deckhouse Kubernetes Platform».

    2. Выберите базовые параметры установки:

      • Редакцию платформы. По умолчанию выбрана Community Edition, выбрать подходящую редакцию можно в выпадающем списке «Добавить источник» в центре.
        При выборе редакции, отличной от Community Edition, введите в открывшемся окне название (любое) и полученный ключ лицензии.
      • Канал обновления Deckhouse Kubernetes Platform. По умолчанию выбран Stable.
      • Версию Kubernetes. По умолчанию выбран режим «Авто», в котором выбирается текущая актуальная версия.

      Затем нажмите кнопку «Инфраструктура» для перехода к следующему шагу.

    3. В выпадающем списке «Добавьте инфраструктуру» в верхней части страницы выберите необходимую облачную платформу.
      В списке доступные облачные провайдеры активны в зависимости от выбранной редакции DKP.

    4. В открывшемся справа окне введите необходимые параметры подключения к облачному провайдеру.

      Нажмите кнопку «Сохранить».

    5. Созданная инфраструктура отобразится в списке на главном экране. Выберите нужный пункт (если создано несколько вариантов) и нажмите кнопку «Параметры кластера».
    6. Задайте название кластера и укажите параметры заказываемых машин для будущих узлов кластера.
      Расширенные параметры будущего кластера, такие как схема размещения или настройка подсетей, доступны по нажатию на кнопку «Дополнительные настройки».

      Для чего нужна продвинутая конфигурация...

      Кнопка «Продвинутая конфигурация» в левой части экрана позволяет просмотреть и скачать сгенерированные YAML-файлы конфигурации. Это может понадобиться для того, чтобы вручную запустить dhctl и использованием этих файлов. Как выглядит окно продвинутой конфигурации...

      Нажмите кнопку «Установить». Установка запустится, на странице будет отображён прогресс установки в процентах и краткий лог процесса.
      Полный лог можно увидеть, нажав на кнопку «Открыть лог». Процесс установки может занять от 5 до 30 минут, в зависимости от качества соединения и количества настраиваемых узлов.
    7. Кластер DKP развёрнут! 🎉 Перейдите к завершению установки.
    8. Откройте консоль управления, нажав на кнопку «Подключиться и открыть» в строке с созданным кластером на главном экране. В этом же окне откроется веб-интерфейс управления установленным кластером DKP. Выполните следующие шаги:
      1. Установите Ingress-контроллер.
        Перейдите в раздел «Сеть» → «Балансировка» → «Ingress-контроллеры» и создайте там новый Ingress-контроллер, нажав на кнопку «Добавить» и выбрав пункт «Порт хоста». Введите название и нажмите кнопку «Создать».
        Если вам необходимо включить HTTPS-доступ к компонентам кластера, включите его в разделе «Cертификат по умолчанию».
      2. Настройте шаблон DNS-имён, который будет использоваться для компонентов кластера.
        Шаблон DNS-имен используется для настройки Ingress-ресурсов системных приложений. Например, за интерфейсом Grafana закреплено имя grafana. Тогда, для шаблона %s.kube.company.my Grafana будет доступна по адресу grafana.kube.company.my, и т.д.
        Перейдите в раздел «Deckhouse» → «Глобальные настройки» и введите нужный шаблон в поле «Шаблон DNS-имен».

Скорее всего, вы уже ознакомились с основными возможностями Deckhouse Platform. В данном руководстве рассмотрен пошаговый процесс установки платформы.

Установка платформы Deckhouse Kubernetes Platform возможна как на физические серверы (bare metal), так и в инфраструктуру одного из поддерживаемых облачных провайдеров. В зависимости от выбранной инфраструктуры процесс может немного отличаться, поэтому ниже приведены примеры установки для разных вариантов.

Выберите тип инфраструктуры, в которой будет устанавливаться Deckhouse Kubernetes Platform