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

    Содержание

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