Встановлення за допомогою Helm
Ми рекомендуємо використовувати Helm для встановлення Istio для операційного використання в ambient режимі. Щоб дозволити контрольовані оновлення, компоненти панелі управління та панелі даних упаковані та встановлюються окремо. (Оскільки ambient data plane розділений на два компоненти, ztunnel та waypoints, оновлення включають окремі кроки для цих компонентів.)
Попередні вимоги
Перевірте платформо-специфічні вимоги.
Встановіть клієнт Helm, версія 3.6 або вище.
Налаштуйте репозиторій Helm:
$ helm repo add istio https://istio-release.storage.googleapis.com/charts $ helm repo update
Встановлення панелі управління
Стандартні значення можна змінювати, використовуючи один або кілька параметрів --set <parameter>=<value>
. Або ви можете вказати кілька параметрів у власному файлі значень, використовуючи аргумент --values <file>
.
Повні відомості про те, як використовувати та налаштовувати установки Helm, доступні в документації для установки Sidecar.
На відміну від профілів istioctl, які групують компоненти для встановлення або видалення, профілі Helm просто встановлюють групи параметрів конфігурації.
Базові компоненти
Чарт base
містить основні CRD та кластерні ролі, необхідні для налаштування Istio. Його слід встановити перед будь-якими іншими компонентами Istio.
$ helm install istio-base istio/base -n istio-system --create-namespace --wait
Встановіть або оновіть CRD Kubernetes Gateway API
Зверніть увагу, що CRD Kubernetes Gateway API стандартно не встановлені в більшості кластерів Kubernetes, тому переконайтеся, що вони встановлені перед використанням Gateway API:
$ kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \
{ kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml; }
Панель управління istiod
Чарт istiod
встановлює версію Istiod. Istiod є компонентом панелі правління, який керує та налаштовує проксі для маршрутизації трафіку всередині mesh.
$ helm install istiod istio/istiod --namespace istio-system --set profile=ambient --wait
CNI агент вузла
Чарт cni
встановлює агента вузла Istio CNI. Він відповідає за виявлення podʼів, які належать до ambient mesh, та налаштування перенаправлення трафіку між podʼами та проксі вузла ztunnel (який буде встановлений пізніше).
$ helm install istio-cni istio/cni -n istio-system --set profile=ambient --wait
Встановлення панелі даних
DaemonSet ztunnel
Чарт ztunnel
встановлює DaemonSet ztunnel, який є компонентом проксі вузла в ambient режимі Istio.
$ helm install ztunnel istio/ztunnel -n istio-system --wait
Ingress gateway (додатково)
Щоб встановити ingress gateway, виконайте команду нижче:
$ helm install istio-ingress istio/gateway -n istio-ingress --create-namespace --wait
Якщо ваш кластер Kubernetes не підтримує тип сервісу LoadBalancer
(type: LoadBalancer
) з правильною зовнішньою IP-адресою, виконайте вищезазначену команду без параметра --wait
, щоб уникнути нескінченного очікування. Див. Встановлення шлюзів для детальної документації про установку шлюзів.
Налаштування
Щоб переглянути підтримувані параметри конфігурації та документацію, виконайте:
$ helm show values istio/istiod
Перевірка встановлення
Перевірка статусу робочих навантажень
Після встановлення всіх компонентів ви можете перевірити статус установки Helm за допомогою:
$ helm ls -n istio-system
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
istio-base istio-system 1 2024-04-17 22:14:45.964722028 +0000 UTC deployed base-1.24.3 1.24.3
istio-cni istio-system 1 2024-04-17 22:14:45.964722028 +0000 UTC deployed cni-1.24.3 1.24.3
istiod istio-system 1 2024-04-17 22:14:45.964722028 +0000 UTC deployed istiod-1.24.3 1.24.3
ztunnel istio-system 1 2024-04-17 22:14:45.964722028 +0000 UTC deployed ztunnel-1.24.3 1.24.3
Ви можете перевірити статус розгорнутих podʼів за допомогою:
$ kubectl get pods -n istio-system
NAME READY STATUS RESTARTS AGE
istio-cni-node-g97z5 1/1 Running 0 10m
istiod-5f4c75464f-gskxf 1/1 Running 0 10m
ztunnel-c2z4s 1/1 Running 0 10m
Перевірка з демонстраційним застосунком
Після встановлення ambient режиму за допомогою Helm ви можете слідувати посібнику з розгортання демонстраційного застосунку, щоб розгорнути демонстраційний застосунок і шлюзи ingress, а потім ви можете додати ваш застосунок до ambient mesh.
Видалення
Ви можете видалити Istio та його компоненти, видаливши чарти встановлені вище.
Перегляньте всі чарти Istio, встановлені в просторі імен
istio-system
:$ helm ls -n istio-system NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION istio-base istio-system 1 2024-04-17 22:14:45.964722028 +0000 UTC deployed base-1.24.3 1.24.3 istio-cni istio-system 1 2024-04-17 22:14:45.964722028 +0000 UTC deployed cni-1.24.3 1.24.3 istiod istio-system 1 2024-04-17 22:14:45.964722028 +0000 UTC deployed istiod-1.24.3 1.24.3 ztunnel istio-system 1 2024-04-17 22:14:45.964722028 +0000 UTC deployed ztunnel-1.24.3 1.24.3
(Опційно) Видаліть будь-які установки чартів шлюзів Istio:
$ helm delete istio-ingress -n istio-ingress $ kubectl delete namespace istio-ingress
Видаліть чарт ztunnel:
$ helm delete ztunnel -n istio-system
Видаліть чарт Istio CNI:
$ helm delete istio-cni -n istio-system
Видаліть чарт панелі управління istiod:
$ helm delete istiod -n istio-system
Видаліть чарт Istio base:
$ helm delete istio-base -n istio-system
Видаліть CRD, встановлені Istio (опційно)
$ kubectl get crd -oname | grep --color=never 'istio.io' | xargs kubectl delete
Видаліть простір імен
istio-system
:$ kubectl delete namespace istio-system