VK Cloud logo

Istio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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

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

Была ли статья полезна?