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