Процесс обновления Istio CNI
Процесс обновления Istio Container Network Interface (CNI) использует обновления на месте. Когда ресурс IstioCNI изменяется, daemonset автоматически заменяет существующие pod istio-cni-node на указанную версию плагина CNI.
Для управления обновлениями версий можно использовать следующее поле:
-
spec.versionзадает версию плагина CNI, которую необходимо установить. Указывайте значение в формате
vX.Y.Z, гдеX.Y.Z— требуемая версия. Например, используйтеv1.28.6, чтобы установить версию плагина CNI1.28.6.
Чтобы обновить плагин CNI, измените поле spec.version на целевую версию. Ресурс IstioCNI также включает поле values, которое предоставляет параметры конфигурации из chart istio-cni.
Когда mesh работает в ambient mode, компонент Istio CNI отвечает за перенаправление трафика. Если вы выполняете обновление с использованием стратегии RevisionBased, тот же компонент CNI остается совместимым с предыдущей версией control plane и продолжает перенаправлять трафик как для существующего, так и для вновь развернутого control plane в течение всего процесса миграции.
Istio CNI поддерживает control plane, работающий либо на той же minor-версии, либо на minor-версии, которая на один релиз впереди.
После завершения обновления Istio control plane перейдите к обновлению компонента Istio CNI. Alauda Service Mesh v2 Operator выполняет развертывание новой версии плагина CNI, заменяя предыдущую установку. Затем pod в DaemonSet istio-cni-node обновляются с помощью rolling update, что сохраняет правила перенаправления трафика в силе на протяжении всего окна обновления.
Содержание
Обновление версии ресурса Istio CNIОбновление версии ресурса Istio CNI
Вы можете обновить версию ресурса Istio CNI, изменив версию в ресурсе. Затем Service Mesh v2 Operator разворачивает новую версию плагина CNI, которая заменяет старую версию плагина CNI. Pod istio-cni-node автоматически подключаются к новому плагину CNI.
Предварительные требования
- Вы вошли в веб-консоль Alauda Container Platform как cluster-admin.
- Вы установили Alauda Service Mesh v2 Operator и развернули Istio.
- Вы установили плагин Istio CNI с требуемой версией. В этом примере ресурс
IstioCNIс именемdefaultразвернут в пространстве именistio-cni. - В зависимости от выбранной стратегии обновления, вы уже подготовили control plane: для стратегии
InPlaceIstio control plane был обновлен до целевой версии; для стратегииRevisionBasedбыла создана новая ревизия control plane.
Процедура
-
Измените версию в ресурсе
Istio. Например, чтобы обновиться до Istio1.28.6, задайте для поляspec.versionзначениеv1.28.6, выполнив следующую команду: -
Отслеживайте развертывание новой версии DaemonSet
istio-cni-node, выполнив следующую команду: -
После завершения развертывания дождитесь, пока ресурс
IstioCNIне сообщит о состоянииReady, выполнив следующую команду: -
Убедитесь, что новая версия плагина CNI готова, выполнив следующую команду:
Пример вывода
-
Проверьте итоговые pod CNI, выполнив следующую команду:
Пример вывода
NOTEЕсли вы используете стратегию
RevisionBased, компонент Istio CNI может одновременно взаимодействовать с несколькими версиями control plane. Во время миграции компонент продолжает обрабатывать перенаправление трафика как для предыдущего, так и для вновь развернутого control plane. Совместимость сохраняется, когда control plane работает на той же minor-версии, что и CNI, или максимум на одну minor-версию выше.