Deckhouse Kubernetes Platform в Yandex Cloud

Перед установкой обязательно проверьте:

  • Квоты облачного провайдера для развёртывания кластера.
  • На ВМ установлен пакет cloud-init. После старта ВМ запущены службы cloud-config.service, cloud-final.service, cloud-init.service.
  • В шаблоне виртуальной машины присутствует только один диск.

Дополнительные требования и сведения

  • Для ContainerdV2 на узлах кластера ОС на виртуальных машинах должна соответствовать требованиям:
    • ядро Linux версии 5.8 и новее, за исключением диапазонов 6.12.0–6.12.28 или 6.14.0–6.14.6 (эти версии подвержены уязвимости CVE-2025-37999 в EROFS);
    • поддержка CgroupsV2;
    • systemd версии 244 и новее;
    • поддержка модуля ядра erofs.

    Подробнее в разделе «ClusterConfiguration».

  • Начиная с версии 1.74 в Deckhouse появился механизм контроля целостности модулей (защита от подмены и модификаций). Он включается автоматически, если на узлах ОС поддерживает модуль ядра erofs. Если erofs недоступен, Deckhouse продолжит работать как раньше, но контроль целостности будет отключён, и в мониторинге появится алерт о недоступности механизма.

Для управления ресурсами в Yandex Cloud, необходимо создать сервисный аккаунт с правами на редактирование. Подробная инструкция по созданию сервисного аккаунта в Yandex Cloud доступна в документации. Ниже краткая версия:

  1. Создайте пользователя с именем deckhouse:

    yc iam service-account create --name deckhouse
    

    В ответ вернутся параметры пользователя:

    id: <userID>
    folder_id: <folderID>
    created_at: "YYYY-MM-DDTHH:MM:SSZ"
    name: deckhouse
    
  2. Назначьте необходимые роли вновь созданному пользователю для своего облака:

    yc resource-manager folder add-access-binding --id <folderID> --role compute.editor --subject serviceAccount:<userID>
    yc resource-manager folder add-access-binding --id <folderID> --role vpc.admin --subject serviceAccount:<userID>
    yc resource-manager folder add-access-binding --id <folderID> --role load-balancer.editor --subject serviceAccount:<userID>
    
  3. Создайте JSON-файл с параметрами авторизации пользователя в облаке. В дальнейшем с помощью этих данных будет происходить авторизация в облаке:

    yc iam key create --service-account-name deckhouse --output deckhouse-sa-key.json