• Русский
  • Обновление

    Содержание

    Установка последнего глобального плагина 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 с 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.

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

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

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

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

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

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

    Примечание: Не-Istio компоненты service mesh включают 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.

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

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

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

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

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

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

    Интерактивный CLI позволяет пакетно обновить все 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 указывает, что proxy data plane gateway можно обновить.
    2. Нажмите кнопку Upgrade справа от Istio Version и подтвердите действие.

    Обновление Sidecars

    1. В левой навигации Platform Management нажмите Service Mesh > Meshes.
    2. Нажмите на Service Mesh Name, где нужно обновить Sidecars, чтобы перейти к деталям mesh.
    3. В области Namespaces деталей mesh отображается список namespace, управляемых service mesh. Нажмите на 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 для выяснения причины или попробуйте Re-upgrade.

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

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

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

    Внимание:

    • Если старая версия istiod в кластере не выведена из эксплуатации, функции добавления кластера и конфигурации Sidecar service mesh будут недоступны.
    • При наличии новой версии для обновления на платформе, если какой-либо кластер не вывел из эксплуатации старую версию istiod, платформа не сможет обновиться.
    • В мультикластерном service mesh старую версию 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 для обновления.