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

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

    Инструкции по установке см. в разделе Alauda Service Mesh Essentials.

    Загрузите последние версии операторов в глобальный и целевой кластеры

    Загрузите последние версии следующих операторов в global-кластер и целевой кластер (пожалуйста, не устанавливайте их вручную):

    • Оператор Alauda Service Mesh
    • Оператор Flagger
    • Оператор Alauda Build of Jaeger
    • Оператор Alauda Build of OpenTelemetry

    Процедуру загрузки с использованием инструмента violet см. в разделе Install Operator.

    WARNING

    При загрузке операторов с помощью violet push не добавляйте параметр --target-catalog-source — используйте каталог-источник по умолчанию, определенный в операторе.

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

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

    Платформа поддерживает канареечное обновление Istio в сервисной сетке, при котором сначала развертывается новая версия компонента istiod. После обновления всех плоскостей данных старая версия компонента 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.
    • Дополнительные сведения см. в разделе Поддерживаемые версии Kubernetes для Istio в сообществе.

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

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

    1. Обновите не-Istio-компоненты service mesh в кластере, например asm operator, flgger operator и т. д.
    2. Разверните новую версию istiod в кластере.
    3. Проверьте, есть ли в кластере EnvoyFilter.
    4. Обновите все плоскости данных Istio в кластере.
    5. Выведите из эксплуатации старую версию istiod в кластере.

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

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

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

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

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

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

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

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

    1. В левом меню Управление платформой нажмите Service Mesh > EnvoyFilter.

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

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

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

    Обновление всех плоскостей данных Istio в кластере

    Плоскости данных Istio в кластере включают Sidecar, ingress gateway и egress gateway.

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

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

    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 gateway предполагает сначала удаление старых Pod, а затем создание новых Pod до тех пор, пока все Pod не будут обновлены до новой версии образа плоскости данных. Поэтому, если у gateway только один Pod, во время обновления gateway он будет недоступен.

    Способ 2: Обновление через UI

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

    Обновление ingress и egress gateway

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

    Обновление Sidecar

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

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

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

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

    Внимание:

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

    Шаги

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

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