Стадия жизненного цикла модуля: Preview
Если в процессе переключения образ какого-либо модуля не загрузился заново и модуль не переустановился, для устранения проблемы воспользуйтесь инструкцией.
Переключение на режим Direct
Для переключения уже работающего кластера на режим Direct выполните следующие шаги:
При первом переключении с режима Unmanaged на режим Direct произойдёт полный перезапуск всех компонентов DKP.
-
Перед переключением выполните миграцию на использование модуля
registry. -
Убедитесь, что модуль
registryвключен и работает. Для этого выполните следующую команду:d8 k get module registry -o wideПример вывода:
NAME WEIGHT ... PHASE ENABLED DISABLED MESSAGE READY registry 38 ... Ready True True -
Убедитесь, что все master-узлы находятся в состоянии
Readyи не имеют статусаSchedulingDisabled, используя следующую команду:d8 k get nodesПример вывода:
NAME STATUS ROLES ... master-0 Ready control-plane,master ... master-1 Ready control-plane,master ... master-2 Ready control-plane,master ...Пример вывода, когда master-узел (
master-2в примере) находится в статусеSchedulingDisabled:NAME STATUS ROLES ... master-0 Ready control-plane,master ... master-1 Ready control-plane,master ... master-2 Ready,SchedulingDisabled control-plane,master ... -
Проверьте, чтобы очередь Deckhouse была пустой и без ошибок:
d8 system queue listПример вывода:
Summary: - 'main' queue: empty. - 107 other queues (0 active, 107 empty): 0 tasks. - no tasks to handle. -
Установите настройки режима
Directв ModuleConfigdeckhouse. Если используется registry, отличный отregistry.deckhouse.ru, ознакомьтесь с конфигурацией модуляdeckhouseдля корректной настройки.Пример конфигурации:
apiVersion: deckhouse.io/v1alpha1 kind: ModuleConfig metadata: name: deckhouse spec: version: 1 enabled: true settings: registry: mode: Direct direct: imagesRepo: registry.deckhouse.ru/deckhouse/ee scheme: HTTPS license: <LICENSE_KEY> # Замените на ваш лицензионный ключ -
Проверьте статус переключения registry в секрете
registry-state, используя инструкцию.Пример вывода:
conditions: # ... - lastTransitionTime: "..." message: "" reason: "" status: "True" type: Ready hash: .. mode: Direct target_mode: Direct
Переключение на режим Proxy
Для переключения уже работающего кластера на режим Proxy выполните следующие шаги:
- При первом переключении с режима
Unmanagedна режимProxyпроизойдёт полный перезапуск всех компонентов DKP. - Переключение из режима
LocalвProxyнедоступно. Для переключения из режимаLocalнеобходимо переключить registry на другой доступный режим (например,Direct).
-
Перед переключением выполните миграцию на использование модуля
registry. -
Убедитесь, что модуль
registryвключен и работает. Для этого выполните следующую команду:d8 k get module registry -o wideПример вывода:
NAME WEIGHT ... PHASE ENABLED DISABLED MESSAGE READY registry 38 ... Ready True True -
Убедитесь, что все master-узлы находятся в состоянии
Readyи не имеют статусаSchedulingDisabled, используя следующую команду:d8 k get nodesПример вывода:
NAME STATUS ROLES ... master-0 Ready control-plane,master ... master-1 Ready control-plane,master ... master-2 Ready control-plane,master ...Пример вывода, когда master-узел (
master-2в примере) находится в статусеSchedulingDisabled:NAME STATUS ROLES ... master-0 Ready control-plane,master ... master-1 Ready control-plane,master ... master-2 Ready,SchedulingDisabled control-plane,master ... -
Проверьте, чтобы очередь Deckhouse была пустой и без ошибок:
d8 system queue listПример вывода:
Summary: - 'main' queue: empty. - 107 other queues (0 active, 107 empty): 0 tasks. - no tasks to handle. -
Установите настройки режима
Proxyв ModuleConfigdeckhouse. Если используется registry, отличный отregistry.deckhouse.ru, ознакомьтесь с конфигурацией модуляdeckhouseдля корректной настройки.Пример конфигурации:
apiVersion: deckhouse.io/v1alpha1 kind: ModuleConfig metadata: name: deckhouse spec: version: 1 enabled: true settings: registry: mode: Proxy proxy: imagesRepo: registry.deckhouse.ru/deckhouse/ee scheme: HTTPS license: <LICENSE_KEY> # Замените на ваш лицензионный ключ -
Проверьте статус переключения registry в секрете
registry-state, используя инструкцию.Пример вывода:
conditions: # ... - lastTransitionTime: "..." message: "" reason: "" status: "True" type: Ready hash: .. mode: Proxy target_mode: Proxy
Переключение на режим Local
Для переключения уже работающего кластера на режим Local выполните следующие шаги:
- При первом переключении с режима
Unmanagedна режимLocalпроизойдёт полный перезапуск всех компонентов DKP. - Переключение из режима
ProxyвLocalнедоступно. Для переключения из режимаProxyнеобходимо переключить registry на другой доступный режим (например,Direct).
-
Перед переключением выполните миграцию на использование модуля
registry. -
Убедитесь, что модуль
registryвключен и работает. Для этого выполните следующую команду:d8 k get module registry -o wideПример вывода:
NAME WEIGHT ... PHASE ENABLED DISABLED MESSAGE READY registry 38 ... Ready True True -
Убедитесь, что все master-узлы находятся в состоянии
Readyи не имеют статусаSchedulingDisabled, используя следующую команду:d8 k get nodesПример вывода:
NAME STATUS ROLES ... master-0 Ready control-plane,master ... master-1 Ready control-plane,master ... master-2 Ready control-plane,master ...Пример вывода, когда master-узел (
master-2в примере) находится в статусеSchedulingDisabled:NAME STATUS ROLES ... master-0 Ready control-plane,master ... master-1 Ready control-plane,master ... master-2 Ready,SchedulingDisabled control-plane,master ... -
Проверьте, чтобы очередь Deckhouse была пустой и без ошибок:
d8 system queue listПример вывода:
Summary: - 'main' queue: empty. - 107 other queues (0 active, 107 empty): 0 tasks. - no tasks to handle. -
Подготовьте архивы с образами DKP текущей версии. Для этого, воспользуйтесь командой
d8 mirror.Пример:
TAG=$( d8 k -n d8-system get deployment/deckhouse -o yaml \ | yq -r '.spec.template.spec.containers[] | select(.name == "deckhouse").image | split(":")[-1]' ) && echo "TAG: $TAG" EDITION=$( d8 k -n d8-system exec -it svc/deckhouse-leader -- deckhouse-controller global values -o yaml \ | yq .deckhouseEdition ) && echo "EDITION: $EDITION"d8 mirror pull \ --license="<LICENSE_KEY>" \ --source="registry.deckhouse.ru/deckhouse/$EDITION" \ --deckhouse-tag="$TAG" \ /home/user/d8-bundle -
Установите настройки режима
Localв ModuleConfigdeckhouse.Пример конфигурации:
apiVersion: deckhouse.io/v1alpha1 kind: ModuleConfig metadata: name: deckhouse spec: version: 1 enabled: true settings: registry: mode: Local -
Проверьте статус переключения registry в секрете
registry-state, используя инструкцию. В статусе необходимо дождаться запуска проверкиRegistryContainsRequiredImages. Условие отобразит отсутствие или наличие образов в запущенном локальном registry.Пример вывода:
conditions: # ... - lastTransitionTime: "..." message: |- Mode: Default master-1: 0 of 166 items processed, 166 items with errors: - source: module/control-plane-manager/control-plane-manager133 image: 10.128.0.5:5001/system/deckhouse@sha256:00202db19b40930f764edab5695f450cf709d50736e012055393447b3379414a error: HEAD https://10.128.0.5:5001/v2/system/deckhouse/manifests/sha256:00202db19b40930f764edab5695f450cf709d50736e012055393447b3379414a: unexpected status code 404 Not Found (HEAD responses have no body, use GET for details) - source: module/cloud-provider-yandex/cloud-metrics-exporter image: 10.128.0.5:5001/system/deckhouse@sha256:05517a86fcf0ec4a62d14ed7dc4f9ffd91c05716b8b0e28263da59edf11f0fad error: HEAD https://10.128.0.5:5001/v2/system/deckhouse/manifests/sha256:05517a86fcf0ec4a62d14ed7dc4f9ffd91c05716b8b0ed86d6a1f465f4556fb8: unexpected status code 404 Not Found (HEAD responses have no body, use GET for details) - source: module/control-plane-manager/kube-controller-manager132 image: 10.128.0.5:5001/system/deckhouse@sha256:13f24cc717698682267ed2b428e7399b145a4d8ffe96ad1b7a0b3269b17c7e61 error: HEAD https://10.128.0.5:5001/v2/system/deckhouse/manifests/sha256:13f24cc717698682267ed2b428e7399b145a4d8ffe96ad1b7a0b3269b17c7e61: unexpected status code 404 Not Found (HEAD responses have no body, use GET for details) ...and more reason: Processing status: "False" type: RegistryContainsRequiredImages -
Загрузите образы в локальный registry с помощью команды
d8 mirror. Загрузка образов в локальный registry осуществляется через Ingress по адресуregistry.${PUBLIC_DOMAIN}.Получите пароль read-write пользователя локального registry:
$ d8 k -n d8-system get secret/registry-user-rw -o json | jq -r '.data | to_entries[] | "\(.key): \(.value | @base64d)"' name: rw password: KFVxXZGuqKkkumPz passwordHash: $2a$10$Phjbr6iinLf00ZZDD2Y7O.p9H3nDOgYzFmpYKW5eydGvIsdaHQY0aЗагрузите образы в локальный registry:
d8 mirror push \ --registry-login="rw" \ --registry-password="KFVxXZGuqKkkumPz" \ /home/user/d8-bundle \ registry.${PUBLIC_DOMAIN}/system/deckhouse -
Проверьте статус переключения registry в секрете
registry-state, используя инструкцию. После загрузки образов статусRegistryContainsRequiredImagesдолжен быть в состоянииReadyПример вывода:
conditions: # ... - lastTransitionTime: "..." message: |- Mode: Default master-1: all 166 items are checked reason: Ready status: "True" type: RegistryContainsRequiredImages hash: .. mode: Direct target_mode: Local -
Дождитесь завершения переключения. Для проверки статуса переключения воспользуйтесь инструкцией.
Пример вывода:
conditions: # ... - lastTransitionTime: "..." message: "" reason: "" status: "True" type: Ready hash: .. mode: Local target_mode: Local
Переключение на режим Unmanaged
Для переключения уже работающего кластера на режим Unmanaged выполните следующие шаги:
Изменение registry в Unmanaged режиме приведёт к перезапуску всех компонентов DKP.
-
Перед переключением выполните миграцию на использование модуля
registry. -
Убедитесь, что модуль
registryвключен и работает. Для этого выполните следующую команду:d8 k get module registry -o wideПример вывода:
NAME WEIGHT ... PHASE ENABLED DISABLED MESSAGE READY registry 38 ... Ready True True -
Проверьте, чтобы очередь Deckhouse была пустой и без ошибок:
d8 system queue listПример вывода:
Summary: - 'main' queue: empty. - 107 other queues (0 active, 107 empty): 0 tasks. - no tasks to handle. -
Установите настройки режима
Unmanagedв ModuleConfigdeckhouse. Если используется registry, отличный отregistry.deckhouse.ru, ознакомьтесь с конфигурацией модуляdeckhouseдля корректной настройки.Пример конфигурации:
apiVersion: deckhouse.io/v1alpha1 kind: ModuleConfig metadata: name: deckhouse spec: version: 1 enabled: true settings: registry: mode: Unmanaged unmanaged: imagesRepo: registry.deckhouse.ru/deckhouse/ee scheme: HTTPS license: <LICENSE_KEY> # Замените на ваш лицензионный ключ -
Проверьте статус переключения registry в секрете
registry-state, используя инструкцию.Пример вывода:
conditions: # ... - lastTransitionTime: "..." message: "" reason: "" status: "True" type: Ready hash: .. mode: Unmanaged target_mode: Unmanaged -
При необходимости переключения на старый метод управления registry, ознакомьтесь с инструкцией.
Это устаревший (deprecated) формат управления registry.