Оновлення за допомогою Helm

Скористайтесь цим посібником для оновлення та налаштування установки в режимі ambient, використовуючи Helm. Цей посібник передбачає, що ви вже виконали установку в режимі ambient за допомогою Helm з попередньою версією Istio.

Розуміння оновлень у режимі ambient

Усі оновлення Istio передбачають оновлення панелі управління, панелі даних та CRD Istio. Оскільки панель даних у режимі ambient розділена між двома компонентами, ztunnel та шлюзів (які включають waypoint), оновлення включають окремі кроки для цих компонентів. Оновлення панелі управління та CRD розглянуті тут коротко, але по суті є аналогічними процесу оновлення цих компонентів у режимі sidecar.

Як і в режимі sidecar, шлюзи можуть використовувати теґи ревізій для тонкого контролю за оновленнями (шлюзів), включаючи waypoint, з простими контролерами для відкочування до попередньої версії панелі правління Istio в будь-який момент. Однак, на відміну від режиму sidecar, ztunnel працює як DaemonSet, проксі на кожному вузлі, — це означає, що оновлення ztunnel мінімум вплине на весь вузол одночасно. Хоча це може бути прийнятним у багатьох випадках, застосунки з довготривалими TCP-зʼєднаннями можуть бути порушені. У таких випадках ми рекомендуємо використовувати ізоляцію вузлів і очищення перед оновленням ztunnel для конкретного вузла. Заради простоти цей документ продемонструє оновлення ztunnel на місці, що може спричинити короткочасний простій.

Попередні вимоги

Підготовка до оновлення

Перед оновленням Istio ми рекомендуємо завантажити нову версію istioctl та запустити istioctl x precheck, щоб переконатися, що оновлення сумісне з вашим середовищем. Результат має виглядати приблизно так:

$ istioctl x precheck
✔ No issues found when checking the cluster. Istio is safe to install or upgrade!
  To get started, check out <https://istio.io/latest/docs/setup/getting-started/>

Тепер оновіть репозиторій Helm:

$ helm repo update istio
Без додаткової підготовки до оновлення на місці, переходьте до наступного кроку.

Оновлення панелі управління

Основні компоненти

Перш ніж розгортати нову версію панелі управління, необхідно оновити CRD, що охоплюють весь кластер:

$ helm upgrade istio-base istio/base -n istio-system

Панель управління istiod

Панель управління Istiod керує і налаштовує проксі, які маршрутизують трафік в межах mesh. Наступна команда встановить новий екземпляр панелі управління поряд з поточним, але не додасть нових шлюзів проксі або waypoints та не візьме на себе керування наявними проксі.

Якщо ви налаштували встановлення istiod, ви можете повторно використовувати файл values.yaml з попередніх оновлень або встановлень, щоб зберегти панелі управління узгодженими.

$ helm upgrade istiod istio/istiod -n istio-system --wait

CNI node agent

Агент вузла Istio CNI відповідає за виявлення podʼів, доданих до ambient mesh, інформування ztunnel про необхідність встановлення проксі-портів у доданих podʼах і налаштування перенаправлення трафіку в межах мережевого простору імен podʼа. Він не є частиною панелі даних або панелі управління.

CNI версії 1.x сумісний із панеллю управління версії 1.x+1 і 1.x. Це означає, що спочатку потрібно оновити панелі управління перед оновленням Istio CNI, якщо різниця між їхніми версіями не перевищує одну мінорну версію.

$ helm upgrade istio-cni istio/cni -n istio-system

Оновлення панелі даних

Ztunnel DaemonSet

Ztunnel DaemonSet є проксі-компонентом вузла. Ztunnel версії 1.x сумісний з панеллю управління версії 1.x+1 і 1.x. Це означає, що спочатку потрібно оновити панель управління перед оновленням ztunnel, якщо різниця між їхніми версіями не перевищує одну мінорну версію. Якщо ви раніше налаштовували встановлення ztunnel, ви можете повторно використати файл values.yaml з попередніх оновлень або встановлень, щоб зберегти ваші панелі даних послідовним.

$ helm upgrade ztunnel istio/ztunnel -n istio-system --wait

Оновлення чарту розгорнутого вручну шлюзу (необовʼязково)

Gateway, які були розгорнуті вручну, потрібно оновити індивідуально за допомогою Helm:

$ helm upgrade istio-ingress istio/gateway -n istio-ingress
Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

Дякуємо за ваш відгук!