• Русский
  • Процесс обновления 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, чтобы установить версию плагина CNI 1.28.6.

    Чтобы обновить плагин CNI, измените поле spec.version на целевую версию. Ресурс IstioCNI также включает поле values, которое предоставляет параметры конфигурации из chart istio-cni.

    Когда mesh работает в ambient mode, компонент Istio CNI отвечает за перенаправление трафика. Если вы выполняете обновление с использованием стратегии RevisionBased, тот же компонент CNI остается совместимым с предыдущей версией control plane и продолжает перенаправлять трафик как для существующего, так и для вновь развернутого control plane в течение всего процесса миграции.

    NOTE

    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, изменив версию в ресурсе. Затем 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: для стратегии InPlace Istio control plane был обновлен до целевой версии; для стратегии RevisionBased была создана новая ревизия control plane.

    Процедура

    1. Измените версию в ресурсе Istio. Например, чтобы обновиться до Istio 1.28.6, задайте для поля spec.version значение v1.28.6, выполнив следующую команду:

      kubectl patch istiocni default --type='merge' -p '{"spec":{"version":"v1.28.6"}}'
    2. Отслеживайте развертывание новой версии DaemonSet istio-cni-node, выполнив следующую команду:

      kubectl rollout status daemonset/istio-cni-node -n istio-cni
    3. После завершения развертывания дождитесь, пока ресурс IstioCNI не сообщит о состоянии Ready, выполнив следующую команду:

      kubectl wait --for=condition=Ready istiocnis/default --timeout=5m
    4. Убедитесь, что новая версия плагина CNI готова, выполнив следующую команду:

      kubectl get istiocni default

      Пример вывода

      NAME      NAMESPACE   PROFILE   READY   STATUS    VERSION   AGE
      default   istio-cni             True    Healthy   v1.28.6   30m
    5. Проверьте итоговые pod CNI, выполнив следующую команду:

      kubectl get pods -n istio-cni

      Пример вывода

      NAME                   READY   STATUS    RESTARTS   AGE
      istio-cni-node-225z6   1/1     Running   0          2m
      istio-cni-node-97j9k   1/1     Running   0          2m
      istio-cni-node-c4fw6   1/1     Running   0          2m
      NOTE

      Если вы используете стратегию RevisionBased, компонент Istio CNI может одновременно взаимодействовать с несколькими версиями control plane. Во время миграции компонент продолжает обрабатывать перенаправление трафика как для предыдущего, так и для вновь развернутого control plane. Совместимость сохраняется, когда control plane работает на той же minor-версии, что и CNI, или максимум на одну minor-версию выше.