Istio в кластерах второго поколения
-
Ознакомьтесь с системными требованиями аддона, чтобы убедиться, что у вас достаточно ресурсов для его установки.
-
(Опционально) Выполните ручное масштабирование групп worker-узлов или настройте автоматическое масштабирование.
Для аддона Istio доступно несколько вариантов установки.
-
Установите аддон:
Личный кабинет-
Перейдите в личный кабинет VK Cloud.
-
Выберите проект, где находится нужный кластер.
-
Перейдите в раздел Кластеры Kubernetes → Кластеры Kubernetes.
-
Нажмите на имя нужного кластера.
-
Перейдите на вкладку Аддоны.
-
Если в кластере уже есть установленные аддоны, нажмите кнопку Добавить аддон.
-
Нажмите кнопку Установить на карточке аддона
istio. -
Нажмите кнопку Установить аддон.
-
При необходимости отредактируйте код настройки аддона (например, для изменения режима работы аддона).
-
Нажмите кнопку Установить аддон.
Начнется установка аддона в кластер. Этот процесс может занять длительное время.
-
-
(Опционально) Познакомьтесь с официальной документацией 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:
-
Укажите
defaultв полеspec.profile:...kind: IstioOperatorspec:profile: default... -
В блоке
spec.componentsукажите:- Для компонентов
baseиpilot:enabled: true. - Для компонента
ztunnel:enabled: false. - Остальные компоненты опциональны.
Пример отредактированного блока
spec.components:components:base:enabled: truek8s:imagePullPolicy: "IfNotPresent"tolerations: []# - key: "Key"# operator: "Exists"# effect: "NoSchedule"pilot:enabled: truek8s:replicaCount: 2imagePullPolicy: "IfNotPresent"tolerations: []# - key: "Key"# operator: "Exists"# value: "Value"# effect: "NoSchedule"nodeSelector: {}resources:requests:cpu: 250mmemory: 512Miztunnel:enabled: falsek8s:imagePullPolicy: "IfNotPresent"tolerations: []# - key: "Key"# operator: "Exists"# value: "Value"# effect: "NoSchedule"nodeSelector: {}resources:requests:cpu: 250mmemory: 512Mi - Для компонентов
После редактирования кода продолжите установку аддона.