VK Cloud logo

Istio в кластерах второго поколения

Подготовительные шаги

  1. Ознакомьтесь с системными требованиями аддона, чтобы убедиться, что у вас достаточно ресурсов для его установки.

  2. (Опционально) Выполните ручное масштабирование групп worker-узлов или настройте автоматическое масштабирование.

Установка аддона

Для аддона Istio доступно несколько вариантов установки.

  1. Установите аддон:

    1. Перейдите в личный кабинет VK Cloud.

    2. Выберите проект, где находится нужный кластер.

    3. Перейдите в раздел Кластеры Kubernetes → Кластеры Kubernetes.

    4. Нажмите на имя нужного кластера.

    5. Перейдите на вкладку Аддоны.

    6. Если в кластере уже есть установленные аддоны, нажмите кнопку Добавить аддон.

    7. Нажмите кнопку Установить на карточке аддона istio.

    8. Нажмите кнопку Установить аддон.

    9. При необходимости отредактируйте код настройки аддона (например, для изменения режима работы аддона).

    10. Нажмите кнопку Установить аддон.

    Начнется установка аддона в кластер. Этот процесс может занять длительное время.

  2. (Опционально) Познакомьтесь с официальной документацией Istio по работе с аддоном.

Редактирование кода настройки аддона при установке

Полный код настройки аддона вместе с описанием полей доступен в официальной документации Istio.

Для аддона доступно два режима работы, определяющих методы перехвата и маршрутизации трафика между подами в сервисной сетке (service mesh):

  • default: режим работы, использующий классическую sidecar-архитектуру. Istio внедряет в каждый под дополнительный контейнер istio-proxy, который перехватывает, шифрует и маршрутизирует трафик приложения. Перехват на уровне подов выполняется с помощью iptables.
  • ambient (по умолчанию): режим работы на уровне узлов кластера, без sidecar-контейнеров. Перехват трафика на уровне ядра выполняется с помощью eBPF. Захваченные пакеты передаются компоненту ztunnel, который работает на каждом узле кластера, обеспечивая шифрование и L4-маршрутизацию. Для настройки политик уровня L7 можно дополнительно настроить waypoint-прокси.

Шифрование на основе взаимного TLS (mTLS) применяется в обоих режимах.

В зависимости от режима в сервисную сетку устанавливается набор компонентов, необходимых для работы аддона. Эти компоненты указаны в блоке spec.components со значением enabled: true. Для работы в режиме ambient требуются компоненты base, pilot, cni и ztunnel — они уже включены и отключать их нельзя. Остальные компоненты опциональны. Подробнее о компонентах в официальной документации Istio.

Чтобы использовать режим default вместо ambient:

  1. Укажите default в поле spec.profile:

    ...kind: IstioOperatorspec:  profile: default...
  2. В блоке spec.components укажите:

    • Для компонентов base и pilot: enabled: true.
    • Для компонента ztunnel: enabled: false.
    • Остальные компоненты опциональны.

    Пример отредактированного блока spec.components:

    components:base: enabled: true k8s:   imagePullPolicy: "IfNotPresent"   tolerations: []   # - key: "Key"   #   operator: "Exists"   #   effect: "NoSchedule"pilot: enabled: true k8s:   replicaCount: 2   imagePullPolicy: "IfNotPresent"   tolerations: []   # - key: "Key"   #   operator: "Exists"   #   value: "Value"   #   effect: "NoSchedule"   nodeSelector: {}   resources:     requests:       cpu: 250m       memory: 512Miztunnel: enabled: false k8s:   imagePullPolicy: "IfNotPresent"   tolerations: []     # - key: "Key"     #   operator: "Exists"     #   value: "Value"     #   effect: "NoSchedule"   nodeSelector: {}   resources:     requests:       cpu: 250m       memory: 512Mi

После редактирования кода продолжите установку аддона.