Встановлення за допомогою Helm

Ми рекомендуємо використовувати Helm для встановлення Istio для операційного використання в ambient режимі. Щоб дозволити контрольовані оновлення, компоненти панелі управління та панелі даних упаковані та встановлюються окремо. (Оскільки ambient data plane розділений на два компоненти, ztunnel та waypoints, оновлення включають окремі кроки для цих компонентів.)

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

  1. Перевірте платформо-специфічні вимоги.

  2. Встановіть клієнт Helm, версія 3.6 або вище.

  3. Налаштуйте репозиторій 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 та його компоненти, видаливши чарти встановлені вище.

  1. Перегляньте всі чарти 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
  2. (Опційно) Видаліть будь-які установки чартів шлюзів Istio:

    $ helm delete istio-ingress -n istio-ingress
    $ kubectl delete namespace istio-ingress
  3. Видаліть чарт ztunnel:

    $ helm delete ztunnel -n istio-system
  4. Видаліть чарт Istio CNI:

    $ helm delete istio-cni -n istio-system
  5. Видаліть чарт панелі управління istiod:

    $ helm delete istiod -n istio-system
  6. Видаліть чарт Istio base:

    $ helm delete istio-base -n istio-system
  7. Видаліть CRD, встановлені Istio (опційно)

    $ kubectl get crd -oname | grep --color=never 'istio.io' | xargs kubectl delete
  8. Видаліть простір імен istio-system:

    $ kubectl delete namespace istio-system
Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

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