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

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

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

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

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

    • Operator Alauda Service Mesh
    • Operator Flagger
    • Operator Alauda Build of Jaeger
    • Operator Alauda Build of OpenTelemetry

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

    WARNING

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

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

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

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

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

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

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

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

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

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

    Обновление компонентов service mesh в кластере, не относящихся к Istio

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

    Примечание: К компонентам service mesh, не относящимся к 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.

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

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

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

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

    Data plane 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

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

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

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

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

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

    Обновление Sidecar

    1. В левом меню Platform Management нажмите Service Mesh > Meshes.
    2. Нажмите на Service Mesh Name, для которого требуется обновить Sidecar, чтобы перейти к сведениям о 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 службы, выполнив 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.

    Шаги

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

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