Обновление
Содержание
Установите последнюю версию плагина Global Alauda Service Mesh Essentials ClusterЗагрузите последние версии операторов в глобальный и целевой кластерыОбновление компонентов бизнес-кластераПеред обновлениемПроцесс обновленияОперации обновленияОбновление не-Istio-компонентов service mesh в кластереРазвертывание новой версии istiodПроверка наличия EnvoyFilter в кластереОбновление всех плоскостей данных Istio в кластереВывод из эксплуатации старой версии istiod в кластереУстановите последнюю версию плагина 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.
При загрузке операторов с помощью violet push не добавляйте параметр --target-catalog-source — используйте каталог-источник по умолчанию, определенный в операторе.
Обновление компонентов бизнес-кластера
Перед обновлением
Платформа поддерживает канареечное обновление Istio в сервисной сетке, при котором сначала развертывается новая версия компонента istiod. После обновления всех плоскостей данных старая версия компонента istiod выводится из эксплуатации.
Учитывая тесную зависимость между версиями Istio и Kubernetes, перед обновлением Istio убедитесь, что текущая версия Kubernetes в кластере соответствует требованиям к обновлению Istio, чтобы успешно завершить канареечное обновление.
В таблице ниже показаны поддерживаемые пути обновления Istio для текущей версии платформы и требуемые версии Kubernetes для этих путей.
Примечание:
- В таблице указаны только основные версии Istio и Kubernetes; минорные версии не влияют на совместимость.
- Проверить текущие запущенные версии Istio и Kubernetes в кластере можно, открыв список Components.
- Если текущая версия Kubernetes в кластере ниже требуемой для обновления Istio, необходимо обновить Kubernetes до совместимой версии через Upgrade Components.
- Дополнительные сведения см. в разделе Поддерживаемые версии Kubernetes для Istio в сообществе.
Процесс обновления
Полный процесс обновления service mesh включает следующие шаги:
- Обновите не-Istio-компоненты service mesh в кластере, например asm operator, flgger operator и т. д.
- Разверните новую версию istiod в кластере.
- Проверьте, есть ли в кластере EnvoyFilter.
- Обновите все плоскости данных Istio в кластере.
- Выведите из эксплуатации старую версию istiod в кластере.
Операции обновления
Обновление не-Istio-компонентов service mesh в кластере
- В левом меню Управление платформой нажмите Service Mesh > Meshes.
- Нажмите
Имя Service Mesh, которое требуется обновить, чтобы перейти к сведениям о сетке. - В области Mesh Deployment на странице сведений о сетке отображается список кластеров, в которых развернута service mesh. Нажмите
Имя кластера, чтобы открыть страницу сведений о кластере в новой вкладке. - Переключитесь на Components на странице сведений о кластере и нажмите upgrade, чтобы обновить не-Istio-компоненты service mesh в кластере до последней версии. Подробную документацию по обновлению компонентов см. в разделе Upgrade Components.
Примечание: Не-Istio-компоненты service mesh включают asm, Flagger Operator, Asm Operator, Jaeger Operator.
Развертывание новой версии istiod
Примечание: Перед развертыванием новой версии istiod см. раздел Перед обновлением, чтобы убедиться, что версия Kubernetes в кластере соответствует требованиям пути обновления.
- Вернитесь на страницу сведений о сетке и в области Mesh Deployment нажмите кнопку Upgrade справа от
Версия Istioсоответствующего кластера. Во всплывающем окне будет показан путь обновления Istio. - Нажмите кнопку Upgrade во всплывающем окне.
Проверка наличия EnvoyFilter в кластере
-
В левом меню Управление платформой нажмите Service Mesh > EnvoyFilter.
Примечание: Если на платформе несколько service mesh, переключить service mesh на ту, в которой находится кластер, можно через верхнюю панель навигации.
-
Проверьте, есть ли данные в списке EnvoyFilter.
- Если данных нет, проверка завершена.
- Если данные есть, обратитесь к автору EnvoyFilter, чтобы адаптировать все EnvoyFilter к новой версии Istio, или свяжитесь со службой технической поддержки.
Обновление всех плоскостей данных Istio в кластере
Плоскости данных Istio в кластере включают Sidecar, ingress gateway и egress gateway.
Способ 1: Обновление через интерактивный инструмент командной строки
Интерактивный инструмент командной строки может пакетно обновить все Sidecar и gateway в кластере. Этот способ подходит пользователям, знакомым с работой в командной строке, особенно тем, кому нужно быстро обновить весь кластер целиком.
Примечание: Для выполнения обновления можно также использовать параметр быстрого обновления без подтверждения.
Примечание: Процесс поэтапного обновления ingress и egress gateway предполагает сначала удаление старых Pod, а затем создание новых Pod до тех пор, пока все Pod не будут обновлены до новой версии образа плоскости данных. Поэтому, если у gateway только один Pod, во время обновления gateway он будет недоступен.
Способ 2: Обновление через UI
Обновление через UI позволяет выполнять пакетное обновление по разным пространствам имен или указывать для обновления один service/gateway. Этот способ подходит пользователям, предпочитающим работать в визуальном интерфейсе, особенно тем, кому требуется гибкий выбор объектов для обновления.
Обновление ingress и egress gateway
- В левом меню нажмите Service Mesh > Gateways.
Примечание: В списке gateway кластера значок
справа от Istio Version означает, что прокси плоскости данных gateway можно обновить. - Нажмите кнопку Upgrade справа от Istio Version и затем Confirm.
Обновление Sidecar
- В левом меню Управление платформой нажмите Service Mesh > Meshes.
- Нажмите
Имя Service Mesh, для которого требуется обновить Sidecar, чтобы перейти к сведениям о сетке. - В области Namespaces на странице сведений о сетке отображается список пространств имен, управляемых service mesh. Нажмите
Имя пространства имен, чтобы открыть Service Mesh в новой вкладке и перейти в пространство имен, в котором расположен Sidecar. Примечание: Выполняйте обновление Sidecar для всех пространств имен последовательно. - В левом меню нажмите Service List.
Примечание: Когда рядом с
Имя сервисаотображается значок
, это означает, что Sidecar этого сервиса можно обновить. - Нажмите Batch Upgrade Sidecars.
Примечание: Чтобы обновить один сервис, нажмите кнопку Upgrade справа от значка
в записи сервиса. - Выберите все, один или несколько сервисов, а затем нажмите Upgrade. Примечание: Платформа обновит Sidecar сервиса, последовательно обновляя Pod с различными текущими и целевыми версиями Sidecar. Если обновление завершится неудачей, проверьте события группы контейнеров в Container Platform, чтобы определить причину сбоя, или попробуйте Re-upgrade.
Примечание: Sidecar обновляется путем поэтапного обновления Deployment сервиса, чтобы завершить обновление образа плоскости данных Pod. Поэтому, если у сервиса есть долгоживущие соединения, во время поэтапного обновления Pod произойдет кратковременное прерывание обслуживания.
Вывод из эксплуатации старой версии istiod в кластере
Старую версию istiod в кластере можно вывести из эксплуатации только после того, как все плоскости данных Istio в кластере будут обновлены.
Внимание:
- Если старая версия istiod в кластере не выведена из эксплуатации, вы не сможете использовать функции добавления кластера и настройки Sidecar в service mesh.
- Когда на платформе появляется новая версия, доступная для обновления, и если в каком-либо кластере старая версия istiod не выведена из эксплуатации, обновление платформы невозможно.
- В много-кластерной service mesh старую версию istiod в кластерах можно выводить из эксплуатации только последовательно после того, как все кластеры завершат обновление плоскости данных Istio.
Шаги
- Вернитесь на страницу сведений о сетке и в области Mesh Deployment нажмите кнопку Decommission Old Version справа от
Версия Istioсоответствующего кластера. Будет отображено всплывающее окно Decommission Old Version. - Нажмите кнопку Confirm во всплывающем окне.
Примечание: Если в кластере есть плоскости данных, которые не были обновлены, после нажатия Decommission Old Version во всплывающем окне будут отображены ingress gateway, egress gateway и Sidecar в кластере, которые еще не были обновлены, что позволяет быстро определить плоскости данных, требующие обновления.