Обновление

Содержание

Установка последнего плагина Global Alauda Service Mesh Essentials Cluster

Пожалуйста, посетите Alauda Service Mesh Essentials для инструкций по установке.

Обновление компонентов бизнес-кластера

Перед обновлением

Платформа предоставляет канареечное обновление для Istio в сервисной сетке, при котором сначала разворачивается новая версия компонента istiod. После обновления всех data plane старую версию компонента istiod выводят из эксплуатации.

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

В таблице ниже показаны поддерживаемые пути обновления Istio для текущей версии платформы и требуемые версии Kubernetes для этих путей.

Поддерживаемые пути обновления IstioТребования к версии Kubernetes
Istio с 1.20 до 1.22Версия Kubernetes 1.27, 1.28
Istio с 1.18 до 1.22Версия Kubernetes 1.27

Примечание:

  • В таблице описаны только основные версии Istio и Kubernetes; минорные версии не влияют на совместимость.
  • Вы можете проверить текущие версии Istio и Kubernetes в кластере, перейдя в список Components.
  • Если текущая версия Kubernetes кластера ниже требуемой для обновления Istio, необходимо обновить Kubernetes до совместимой версии через Upgrade Components.
  • Для получения дополнительной информации обратитесь к Community's Supported Kubernetes Versions for Istio.

Процесс обновления

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

  1. Обновление не-Istio компонентов сервисной сетки в кластере, таких как asm operator, flagger operator и др.
  2. Развертывание новой версии istiod в кластере.
  3. Проверка наличия EnvoyFilters в кластере.
  4. Обновление всех data plane Istio в кластере.
  5. Вывод из эксплуатации старой версии istiod в кластере.

Операции по обновлению

Обновление не-Istio компонентов сервисной сетки в кластере

  1. В левом навигационном меню Platform Management нажмите Service Mesh > Meshes.
  2. Нажмите на Service Mesh Name, который необходимо обновить, чтобы перейти к деталям mesh.
  3. В области Mesh Deployment на странице деталей mesh отображается список кластеров, где развернута сервисная сетка. Нажмите на Cluster Name, чтобы открыть страницу деталей кластера в новой вкладке.
  4. Перейдите в раздел Components на странице деталей кластера и нажмите кнопку обновления, чтобы обновить не-Istio компоненты сервисной сетки в кластере до последней версии. Для подробной документации по обновлению компонентов смотрите Upgrade Components.

Примечание: Не-Istio компоненты сервисной сетки включают asm, Flagger Operator, Asm Operator, Jaeger Operator.

Развертывание новой версии istiod

Примечание: Перед развертыванием новой версии istiod, пожалуйста, ознакомьтесь с разделом Перед обновлением, чтобы убедиться, что версия Kubernetes кластера соответствует требованиям пути обновления.

  1. Вернитесь на страницу деталей mesh и в области Mesh Deployment нажмите кнопку Upgrade справа от Istio Version соответствующего кластера. В всплывающем окне будет показан путь обновления Istio.
  2. Нажмите кнопку Upgrade во всплывающем окне.

Проверка наличия EnvoyFilters в кластере

  1. В левом навигационном меню Platform Management нажмите Service Mesh > EnvoyFilter.

    Примечание: Если на платформе несколько сервисных сеток, вы можете переключить сервисную сетку на ту, в которой находится кластер, через верхнюю панель навигации.

  2. Проверьте, есть ли данные в списке EnvoyFilter.

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

Обновление всех data plane Istio в кластере

Data plane Istio в кластере включает Sidecars, ingress gateways и egress gateways.

Метод 1: Обновление через интерактивный командный инструмент

Интерактивный командный инструмент позволяет пакетно обновить все Sidecars и gateways в кластере. Этот метод подходит пользователям, знакомым с командной строкой, особенно тем, кто хочет быстро обновить весь кластер целиком.

kubectl -ncpaas-system exec -it deploy/asm-controller -- /app/asm-controller bfg rollout

Примечание: Также можно использовать параметр быстрого обновления без подтверждения.

kubectl -ncpaas-system exec -it deploy/asm-controller -- /app/asm-controller bfg rollout --no-prompt

Примечание: Процесс поэтапного обновления ingress и egress gateways включает сначала удаление старых Pod, затем создание новых, пока все Pod не будут обновлены до новой версии образа data plane. Поэтому, если у gateway только один Pod, во время обновления gateway он будет недоступен.

Метод 2: Обновление через UI

Обновление через UI позволяет пакетно обновлять по разным namespace или указать отдельный сервис/шлюз для обновления. Этот метод подходит пользователям, предпочитающим визуальный интерфейс, особенно тем, кто нуждается в гибком выборе целей обновления.

Обновление Ingress и Egress Gateways

  1. В левом навигационном меню нажмите Service Mesh > Gateways. Примечание: В списке gateways кластера иконка справа от Istio Version указывает, что прокси data plane gateway можно обновить.
  2. Нажмите кнопку Upgrade справа от Istio Version и подтвердите действие.

Обновление Sidecars

  1. В левом навигационном меню Platform Management нажмите Service Mesh > Meshes.
  2. Нажмите на Service Mesh Name, в котором нужно обновить Sidecars, чтобы перейти к деталям mesh.
  3. В области Namespaces на странице деталей mesh отображается список namespace, управляемых сервисной сеткой. Нажмите на Namespace Name, чтобы открыть Service Mesh в новой вкладке и перейти в namespace, где расположен Sidecar. Примечание: Выполняйте обновление Sidecar для всех namespace последовательно.
  4. В левом навигационном меню нажмите Service List. Примечание: Если рядом с Service Name появляется иконка , это означает, что Sidecar сервиса можно обновить.
  5. Нажмите Batch Upgrade Sidecars. Примечание: Для обновления одного сервиса нажмите кнопку Upgrade справа от иконки в записи сервиса.
  6. Выберите все, один или несколько сервисов, затем нажмите Upgrade. Примечание: Платформа обновит Sidecar сервиса путем поэтапного обновления Pod с разными текущими и целевыми версиями Sidecar. Если обновление не удалось, проверьте события контейнерной группы в Container Platform для выяснения причины или попробуйте Повторное обновление.

Примечание: Sidecar обновляется через поэтапное обновление Deployment сервиса для завершения обновления образа data plane Pod. Поэтому, если у сервиса есть длительные соединения, во время поэтапного обновления Pod будет кратковременное прерывание сервиса.

Вывод из эксплуатации старой версии istiod в кластере

Старую версию istiod в кластере можно вывести из эксплуатации только после обновления всех data plane Istio в кластере.

Внимание:

  • Если старая версия istiod в кластере не выведена из эксплуатации, функции добавления кластера и конфигурации Sidecar сервисной сетки будут недоступны.
  • При наличии новой версии для обновления на платформе, если хотя бы в одном кластере не выведена из эксплуатации старая версия istiod, платформа не сможет обновиться.
  • В мультикластерной сервисной сетке старую версию istiod в кластерах можно выводить из эксплуатации только последовательно после завершения обновления data plane Istio во всех кластерах.

Шаги

  1. Вернитесь на страницу деталей mesh и в области Mesh Deployment нажмите кнопку Decommission Old Version справа от Istio Version соответствующего кластера. Откроется всплывающее окно Decommission Old Version.
  2. Нажмите кнопку Confirm во всплывающем окне.

Примечание: Если в кластере есть data plane, которые не обновлены, после нажатия Decommission Old Version во всплывающем окне отобразятся ingress gateways, egress gateways и Sidecars в кластере, которые не обновлены, что позволит быстро отследить data plane, подлежащие обновлению.