Обновление
Содержание
Установка последнего глобального плагина Alauda Service Mesh Essentials Cluster
Пожалуйста, посетите Alauda Service Mesh Essentials для инструкций по установке.
Обновление компонентов бизнес-кластера
Перед обновлением
Платформа предоставляет канареечное обновление для Istio в service mesh, при котором сначала разворачивается новая версия компонента istiod. После обновления всех data plane старую версию компонента istiod выводят из эксплуатации.
Учитывая сильную зависимость между версиями Istio и Kubernetes, перед обновлением Istio убедитесь, что текущая версия Kubernetes кластера соответствует требованиям для обновления Istio, чтобы успешно завершить канареечное обновление.
В таблице ниже показаны поддерживаемые пути обновления Istio для текущей версии платформы и требуемые версии Kubernetes для этих путей.
Примечание:
- В таблице указаны только основные версии Istio и Kubernetes; минорные версии не влияют на совместимость.
- Вы можете проверить текущие запущенные версии Istio и Kubernetes в кластере, перейдя в список Components.
- Если текущая версия Kubernetes кластера ниже требуемой для обновления Istio, необходимо обновить Kubernetes до совместимой версии через Upgrade Components.
- Для дополнительной информации обратитесь к Community's Supported Kubernetes Versions for Istio.
Процесс обновления
Полный процесс обновления service mesh включает следующие шаги:
- Обновление не-Istio компонентов service mesh в кластере, таких как asm operator, flagger operator и др.
- Развертывание новой версии istiod в кластере.
- Проверка наличия EnvoyFilters в кластере.
- Обновление всех data plane Istio в кластере.
- Вывод из эксплуатации старой версии istiod в кластере.
Операции обновления
Обновление не-Istio компонентов service mesh в кластере
- В левой навигации Platform Management нажмите Service Mesh > Meshes.
- Нажмите на
Service Mesh Name, который необходимо обновить, чтобы перейти к деталям mesh. - В области Mesh Deployment деталей mesh отображается список кластеров, где развернут service mesh. Нажмите на
Cluster Name, чтобы открыть страницу деталей кластера в новой вкладке. - Перейдите в раздел Components на странице деталей кластера и нажмите обновить, чтобы обновить не-Istio компоненты service mesh в кластере до последней версии. Для подробной документации по обновлению компонентов смотрите Upgrade Components.
Примечание: Не-Istio компоненты service mesh включают asm, Flagger Operator, Asm Operator, Jaeger Operator.
Развертывание новой версии istiod
Примечание: Перед развертыванием новой версии istiod, пожалуйста, ознакомьтесь с разделом Перед обновлением, чтобы убедиться, что версия Kubernetes кластера соответствует требованиям пути обновления.
- Вернитесь на страницу деталей mesh, в области Mesh Deployment нажмите кнопку Upgrade справа от
Istio Versionсоответствующего кластера. В всплывающем окне будет показан путь обновления Istio. - Нажмите кнопку Upgrade во всплывающем окне.
Проверка наличия EnvoyFilters в кластере
-
В левой навигации Platform Management нажмите Service Mesh > EnvoyFilter.
Примечание: Если на платформе несколько service mesh, вы можете переключить service mesh на тот, где находится кластер, через верхнюю панель навигации.
-
Проверьте, есть ли данные в списке EnvoyFilter.
- Если данных нет, проверка завершена.
- Если данные есть, свяжитесь с создателем EnvoyFilter для адаптации всех EnvoyFilter к новой версии Istio или обратитесь в техническую поддержку.
Обновление всех data plane Istio в кластере
Data plane Istio в кластере включает Sidecars, ingress gateways и egress gateways.
Метод 1: Обновление через интерактивный CLI
Интерактивный CLI позволяет пакетно обновить все Sidecars и gateways в кластере. Этот метод подходит пользователям, знакомым с командной строкой, особенно тем, кто хочет быстро обновить весь кластер сразу.
Примечание: Можно также использовать параметр быстрого обновления без подтверждения.
Примечание: Процесс поэтапного обновления ingress и egress gateways включает сначала удаление старых Pod, затем создание новых, пока все Pod не будут обновлены до новой версии образа data plane. Поэтому, если у gateway только один Pod, во время обновления gateway он будет недоступен.
Метод 2: Обновление через UI
Обновление через UI позволяет пакетно обновлять по разным namespace или указать отдельный сервис/шлюз для обновления. Этот метод подходит пользователям, предпочитающим визуальный интерфейс, особенно тем, кто нуждается в гибком выборе целей обновления.
Обновление Ingress и Egress Gateways
- В левой навигации нажмите Service Mesh > Gateways.
Примечание: В списке gateways кластера иконка
справа от Istio Version указывает, что proxy data plane gateway можно обновить. - Нажмите кнопку Upgrade справа от Istio Version и подтвердите действие.
Обновление Sidecars
- В левой навигации Platform Management нажмите Service Mesh > Meshes.
- Нажмите на
Service Mesh Name, где нужно обновить Sidecars, чтобы перейти к деталям mesh. - В области Namespaces деталей mesh отображается список namespace, управляемых service mesh. Нажмите на
Namespace Name, чтобы открыть Service Mesh в новой вкладке и перейти в namespace, где расположен Sidecar. Примечание: Выполняйте обновление Sidecar для всех namespace последовательно. - В левой навигации нажмите Service List.
Примечание: Если рядом с
Service Nameпоявляется иконка
, это означает, что Sidecar сервиса можно обновить. - Нажмите Batch Upgrade Sidecars.
Примечание: Для обновления одного сервиса нажмите кнопку Upgrade справа от иконки
в записи сервиса. - Выберите все, один или несколько сервисов и нажмите Upgrade. Примечание: Платформа обновит Sidecar сервиса, выполняя поэтапное обновление Pod с разными текущими и целевыми версиями Sidecar. Если обновление не удалось, проверьте события контейнерной группы в Container Platform для выяснения причины или попробуйте Re-upgrade.
Примечание: Sidecar обновляется через поэтапное обновление Deployment сервиса для завершения обновления образа data plane Pod. Поэтому, если у сервиса есть длительные соединения, во время поэтапного обновления Pod будет кратковременное прерывание сервиса.
Вывод из эксплуатации старой версии istiod в кластере
Старую версию istiod в кластере можно вывести из эксплуатации только после обновления всех data plane Istio в кластере.
Внимание:
- Если старая версия istiod в кластере не выведена из эксплуатации, функции добавления кластера и конфигурации Sidecar service mesh будут недоступны.
- При наличии новой версии для обновления на платформе, если какой-либо кластер не вывел из эксплуатации старую версию istiod, платформа не сможет обновиться.
- В мультикластерном service mesh старую версию istiod в кластерах можно выводить из эксплуатации только последовательно после завершения обновления data plane Istio во всех кластерах.
Шаги
- Вернитесь на страницу деталей mesh, в области Mesh Deployment нажмите кнопку Decommission Old Version справа от
Istio Versionсоответствующего кластера. Откроется всплывающее окно Decommission Old Version. - Нажмите кнопку Confirm во всплывающем окне.
Примечание: Если в кластере есть data plane, которые не были обновлены, после нажатия Decommission Old Version во всплывающем окне отобразятся ingress gateways, egress gateways и Sidecars в кластере, которые требуют обновления, что позволяет быстро отследить data plane для обновления.