Обновление глобального кластера

состоит из глобального кластера и одного или нескольких рабочих кластеров. Глобальный кластер обязательно должен быть обновлён перед любыми рабочими кластерами.

В этом документе описана процедура обновления глобального кластера.

Если глобальный кластер настроен с решением global DR (Disaster Recovery), строго следуйте процедуре global DR. В противном случае следуйте Стандартной процедуре.

Содержание

Стандартная процедура

Загрузка образов

Скопируйте пакет обновления на любой узел управляющей плоскости глобального кластера. Распакуйте пакет и перейдите в распакованную директорию.

  • Если глобальный кластер использует встроенный реестр, выполните:

    bash upgrade.sh --only-sync-image=true
  • Если глобальный кластер использует внешний реестр, необходимо также указать адрес реестра:

    bash upgrade.sh --only-sync-image=true --registry <registry-address> --username <username> --password <password>
INFO

Загрузка образов обычно занимает около 2 часов, в зависимости от вашей сети и производительности диска. Если ваша платформа использует global DR, помните, что резервный глобальный кластер также требует загрузки образов, и планируйте окно обслуживания соответственно.

Запуск обновления

После завершения загрузки образов выполните следующую команду для запуска процесса обновления:

bash upgrade.sh --skip-sync-image

Дождитесь завершения скрипта перед продолжением.

Обновление глобального кластера

  1. Войдите в Веб-консоль глобального кластера и переключитесь в режим Administrator.
  2. Перейдите в раздел Clusters > Clusters.
  3. Нажмите на кластер global, чтобы открыть его подробный просмотр.
  4. Перейдите на вкладку Functional Components.
  5. Нажмите кнопку Upgrade.

Ознакомьтесь с доступными обновлениями компонентов в диалоговом окне и подтвердите продолжение.

INFO

Обновление версии Kubernetes является необязательным. Однако, поскольку возможны перебои в работе сервиса в любом случае, мы рекомендуем включить обновление Kubernetes, чтобы избежать нескольких окон обслуживания.

Если в глобальном кластере установлен Alauda Container Platform GitOps, и после обновления поды плагина работают некорректно, пожалуйста, обратитесь к разделу Обновление Alauda Container Platform GitOps.

Установка плагина Product Docs

INFO

Плагин Alauda Container Platform Product Docs предоставляет доступ к документации продукта внутри платформы. Все ссылки на помощь в платформе будут вести к этой документации. Если этот плагин не установлен, при нажатии на ссылки помощи в платформе будет возникать ошибка 404.

Начиная с версии ACP 4.0, встроенная документация продукта была выделена в отдельный плагин Alauda Container Platform Product Docs. Если вы обновляетесь с версии 3.18, необходимо установить этот плагин, выполнив следующие шаги:

  1. Перейдите в раздел Administrator.

  2. В левой боковой панели выберите Marketplace > Cluster Plugins и выберите кластер global.

  3. Найдите плагин Alauda Container Platform Product Docs и нажмите Install.

Процедура global DR

Проверка согласованности данных

  1. Следуйте вашим стандартным процедурам проверки global DR, чтобы убедиться, что данные в резервном глобальном кластере соответствуют данным в основном глобальном кластере. Если обнаружены несоответствия, свяжитесь с технической поддержкой перед продолжением.

  2. На обоих кластерах выполните следующую команду, чтобы убедиться, что нет Machine узлов в состоянии, отличном от работающего:

    kubectl get machines.platform.tkestack.io

Если такие узлы есть, обратитесь в техническую поддержку для их устранения перед продолжением.

Удаление плагина синхронизации etcd

Обновление с версии 3.18
Обновление с версии 3.16
  1. Зайдите в Веб-консоль основного глобального кластера по его IP или VIP.
  2. Переключитесь в режим Platform Management.
  3. Перейдите в Catalog > Cluster Plugin.
  4. Выберите global в выпадающем списке кластеров.
  5. Найдите плагин EtcdSync и нажмите Uninstall. Дождитесь завершения удаления.

Обновление резервного глобального кластера

Следуйте той же процедуре, описанной в разделе Стандартная процедура, чтобы сначала обновить резервный глобальный кластер.

Обновление основного глобального кластера

После обновления резервного кластера выполните ту же Стандартную процедуру для обновления основного глобального кластера.

Переустановка плагина синхронизации etcd

Перед переустановкой убедитесь, что порт 2379 корректно проброшен с обоих VIP глобальных кластеров на их узлы управляющей плоскости.

Для переустановки:

  1. Зайдите в Веб-консоль резервного глобального кластера по его IP или VIP.
  2. Переключитесь в режим Administrator.
  3. Перейдите в Marketplace > Cluster Plugins.
  4. Выберите кластер global.
  5. Найдите Alauda Container Platform etcd Synchronizer, нажмите Install и укажите необходимые параметры.

Для проверки установки:

kubectl get po -n cpaas-system -l app=etcd-sync  # Убедитесь, что под находится в состоянии 1/1 Running

kubectl logs -n cpaas-system $(kubectl get po -n cpaas-system -l app=etcd-sync --no-headers | awk '{print $1}' | head -1) | grep -i "Start Sync update"
# Дождитесь появления в логах строки "Start Sync update"

# Пересоздайте под для запуска синхронизации ресурсов с ownerReferences
kubectl delete po -n cpaas-system $(kubectl get po -n cpaas-system -l app=etcd-sync --no-headers | awk '{print $1}' | head -1)

Проверка статуса синхронизации

Выполните следующую команду для проверки статуса синхронизации:

curl "$(kubectl get svc -n cpaas-system etcd-sync-monitor -ojsonpath='{.spec.clusterIP}')/check"

Объяснение вывода:

  • "LOCAL ETCD missed keys:" – Ключи существуют в основном кластере, но отсутствуют в резервном. Обычно это исправляется после перезапуска пода.
  • "LOCAL ETCD surplus keys:" – Ключи существуют в резервном кластере, но отсутствуют в основном. Перед удалением проконсультируйтесь с вашей операционной командой.