Обновление глобального кластера
состоит из глобального кластера и одного или нескольких рабочих кластеров. Глобальный кластер должен быть обновлен до обновления любых рабочих кластеров.
В этом документе описана процедура обновления глобального кластера.
Если глобальный кластер настроен с решением global DR (Disaster Recovery), строго следуйте процедуре global DR. В противном случае следуйте стандартной процедуре .
Стандартная процедура
Загрузка образов
Скопируйте основной пакет на любой узел control plane глобального кластера. Распакуйте пакет и перейдите в распакованный каталог с помощью cd.
-
Если глобальный кластер использует встроенный registry, выполните:
-
Если глобальный кластер использует внешний registry, также необходимо указать адрес registry:
Если вы планируете выполнять обновление Operator и Cluster Plugin вместе с обновлением глобального кластера, вы можете заранее загрузить их образы в registry глобального кластера. Инструкции по массовой загрузке см. в разделе Upload only images from all packages in a directory.
Загрузка образов обычно занимает около 2 часов, в зависимости от скорости сети и диска.
Если ваша платформа настроена на глобальное восстановление после сбоя (DR), помните, что резервному глобальному кластеру также требуется загрузка образов. Обязательно планируйте окно обслуживания соответствующим образом.
При использовании violet для загрузки пакетов в резервный кластер необходимо указать параметр --dest-repo <VIP addr of standby cluster>.
В противном случае пакеты будут загружены в репозиторий образов основного кластера, что не позволит резервному кластеру устанавливать или обновлять расширения.
Также обратите внимание, что необходимо указать либо данные аутентификации для registry образов резервного кластера, либо параметр --no-auth.
Подробности о подкоманде violet push см. в разделе Upload Packages.
Запуск обновления
После завершения загрузки образов выполните следующую команду, чтобы запустить процесс обновления:
Дождитесь завершения работы скрипта, прежде чем продолжать.
Если вы уже заранее загрузили образы Operator и Cluster Plugin в registry глобального кластера, затем можно выполнить Create only CRs from all packages in a directory. После выполнения этой команды подождите примерно 10–15 минут, пока для функциональных компонентов не появятся уведомления об обновлении. После этого вы сможете обновить Operator и Cluster Plugin вместе на последующих этапах обновления.
-
При обновлении глобального кластера не используйте параметр
--clustersдля создания CR на рабочих кластерах на этапе Create only CRs from all packages in a directory. Это может привести к сбоям обновления при последующем обновлении рабочих кластеров. -
Если вы обновляетесь с версии 3.18 или 4.0, и в каталоге находится пакет Build of TopoLVM, его необходимо удалить до выполнения шага Create only CRs from all packages in a directory. После завершения этого шага создайте CR для TopoLVM отдельно и обязательно укажите параметр
--target-catalog-source "platform".
(Условно) Удаление TopoLVM
Если вы обновляетесь с версии 3.18 и установлен Build of TopoLVM, перед продолжением обновления необходимо создать резервную копию и удалить связанные ресурсы TopoLVM.
В противном случае обновление кластера завершится ошибкой.
Выполните следующие команды на любом узле control plane кластера, который будет обновляться:
Затем выполните следующую команду на любом узле control plane глобального кластера:
Обновление глобального кластера
Если вы обновляетесь с версии 3.16 или 3.18, и на платформе установлены Data Services, при обновлении кластеров также необходимо обновить связанные расширения.
Дополнительные сведения см. в разделе Upgrade Data Services.
- Войдите в Web Console глобального кластера и переключитесь в режим Administrator.
- Перейдите в Clusters > Clusters.
- Нажмите на кластер
global, чтобы открыть его страницу с подробной информацией. - Перейдите на вкладку Functional Components.
- Нажмите кнопку Upgrade.
Проверьте доступные обновления компонентов в диалоговом окне и подтвердите продолжение.
- Обновление версии Kubernetes является необязательным. Однако, поскольку перебои в работе сервиса могут возникнуть в любом случае, мы рекомендуем включать обновление Kubernetes, чтобы избежать нескольких окон обслуживания.
- Если плагин Alauda Container Platform GitOps установлен в глобальном кластере, и после обновления его pod-ы работают некорректно, обратитесь к Upgrading Alauda Container Platform GitOps.
(Условно) Обновление TopoLVM
Если вы обновляетесь с версии 3.18 и установлен Build of TopoLVM, и вы уже выполнили шаг Удаление TopoLVM.
На узле control plane кластера, который будет обновляться, продолжите, выполнив следующую команду для обновления TopoLVM:
После выполнения команды подождите примерно 5–10 минут. Компонент TopoLVM будет автоматически обновлен и отобразится в web console.
Установка плагина Product Docs
Плагин Alauda Container Platform Product Docs предоставляет доступ к документации продукта внутри платформы. Все ссылки справки на платформе будут перенаправлять пользователей к этой документации. Если этот плагин не установлен, переход по ссылкам справки в платформе приведет к ошибкам доступа 404.
Начиная с версии 4.0, встроенная документация продукта была выделена в плагин Alauda Container Platform Product Docs. Если вы обновляетесь с версии 3.x, необходимо установить этот плагин, выполнив следующие шаги:
-
Перейдите в Administrator.
-
В левом боковом меню нажмите Marketplace > Cluster Plugins и выберите кластер
global. -
Найдите плагин Alauda Container Platform Product Docs и нажмите Install.
Установка плагина Alauda Container Platform Cluster Enhancer
Этот шаг нужен только для того, чтобы убедиться, что плагин cluster enhancer установлен. Если вы уже обнаружили, что этот плагин кластера установлен, ничего делать не нужно.
-
Перейдите в Administrator.
-
В левом боковом меню нажмите Marketplace > Cluster Plugins и выберите кластер
global. -
Найдите плагин Alauda Container Platform Cluster Enhancer и нажмите Install.
(Условно) Установка Service Mesh Essentials
Если установлен Service Mesh v1, перед обновлением рабочих кластеров обратитесь к документации Alauda Service Mesh Essentials Cluster Plugin.
После обновления
Процедура global DR
Проверка согласованности данных
Следуйте обычным процедурам проверки global DR, чтобы убедиться, что данные в резервном глобальном кластере согласованы с основным глобальным кластером.
Если обнаружены несоответствия, не удаляйте плагин синхронизации etcd на следующем шаге и свяжитесь со службой технической поддержки перед продолжением. Удаление плагина в ситуации, когда в резервном глобальном кластере отсутствуют данные, которые есть в основном кластере, может привести к некорректному разрешению owner references, а объекты Machine узлов рабочего кластера — включая кластеры с immutable-OS, где это уничтожает базовую виртуальную машину, — могут быть удалены.
На обоих кластерах выполните следующую команду, чтобы убедиться, что ни один узел Machine не находится в состоянии, отличном от running:
Если такие узлы существуют, обратитесь в службу технической поддержки для их устранения, прежде чем продолжить.
Удаление плагина синхронизации etcd
- Откройте Web Console основного кластера по его IP или VIP.
- Переключитесь в режим Administrator.
- Перейдите в Catalog > Cluster Plugin.
- ОБЯЗАТЕЛЬНО убедитесь, что вы переключились на кластер
global. - Найдите плагин EtcdSync и нажмите Uninstall. Дождитесь завершения удаления.
Загрузка образов
Выполните шаг Загрузка образов на обоих кластерах — резервном и основном.
Подробности см. в разделе Загрузка образов в стандартной процедуре.
Обновление резервного кластера
Для выполнения обновления необходимо открыть Web Console резервного кластера.
Перед продолжением убедитесь, что ресурс ProductBase резервного кластера правильно настроен с использованием VIP кластера в spec.alternativeURLs.
Если это не так, обновите конфигурацию следующим образом:
На резервном кластере выполните шаги из стандартной процедуры, чтобы завершить обновление.
Обновление основного кластера
После обновления резервного кластера выполните стандартную процедуру на основном кластере.
Переустановка плагина синхронизации etcd
Перед переустановкой убедитесь, что порт 2379 корректно перенаправляется с обоих VIP глобального кластера на их узлы control plane.
Чтобы переустановить:
- Откройте Web Console резервного глобального кластера по его IP или VIP.
- Переключитесь в режим Administrator.
- Перейдите в Marketplace > Cluster Plugins.
- Выберите кластер
global. - Найдите Alauda Container Platform etcd Synchronizer, нажмите Install и укажите требуемые параметры.
Для проверки установки:
Проверка состояния синхронизации
Выполните следующую команду, чтобы проверить состояние синхронизации:
Пояснение к выводу:
"LOCAL ETCD missed keys:"– ключи существуют в основном кластере, но отсутствуют в резервном. Часто это устраняется после перезапуска pod-а."LOCAL ETCD surplus keys:"– ключи существуют в резервном кластере, но отсутствуют в основном. Перед удалением согласуйте их с вашей командой эксплуатации.