Создание сервисной сетки
В этом документе объясняется, как создать сервисную сетку в одном кластере. Перед началом работы убедитесь, что вы знакомы со следующими темами:
- Модели развертывания сетки: выберите модель развертывания сетки, которая соответствует вашим требованиям.
- Описание компонентов сетки: ознакомьтесь с ролями компонентов сетки и подготовьте необходимые ресурсы CPU и памяти для сервисной сетки.
Для инструкций по созданию сервисной сетки в нескольких кластерах обратитесь к документации Multi-Cluster Service Mesh.
Содержание
Ограничения и лимиты
- В одном кластере разрешена только одна сервисная сетка.
- Если кластер является глобальным и платформа находится в среде аварийного восстановления (то есть глобальный кластер имеет основной кластер и кластер аварийного восстановления), глобальный кластер не может развернуть сервисную сетку.
- Если кластер использует сеть с двойным стеком IPv4/IPv6, сервисная сетка не может быть развернута.
Предварительные требования
-
Установлен Alauda Service Mesh Essentials Cluster Plugin.
-
Скачайте следующий установочный пакет, соответствующий архитектуре вашей платформы, и с помощью механизма Upload Packages загрузите пакет в глобальный кластер и целевой кластер (пожалуйста, не устанавливайте их вручную).
- Оператор
Alauda Service Mesh - Оператор
Flagger - Оператор
Alauda Build of Jaeger - Оператор
Alauda Build of OpenTelemetry
- Оператор
-
Убедитесь, что в кластере развернут плагин Prometheus или VictoriaMetrics.
Примечание: При многоузловой архитектуре VictoriaMetrics
vmstorageможет находиться в другом кластере, отличном от сервисной сетки. -
Убедитесь, что доступен Elasticsearch. Сервисная сетка может взаимодействовать с плагином логирования Elasticsearch кластера или с вашим собственным Elasticsearch.
-
Если кластер является кластером OpenShift, необходимо также выполнить следующие требования:
- Создано пространство имён
istio-system. - Добавьте пространство имён
istio-systemв группуanyuidSCC (Security Context Constraints). Для этого войдите на bastion-хост кластера OpenShift и выполните команду:
- Создано пространство имён
Шаги
- В левой навигационной панели нажмите Service Mesh > Mesh.
- Нажмите Create Service Mesh.
- Выберите кластер и версию Istio для развертывания сервисной сетки. В расширенной конфигурации убедитесь, что архитектура сетки — однокластерная, и заполните параметры интерфейса для Elasticsearch и системы мониторинга. Вы можете выбрать существующую систему платформы или внешнюю систему.
- Если требуется высокая доступность, установите Pod anti-affinity в обязательный режим.
- Ресурсы компонентов могут использовать значения по умолчанию, но по мере роста масштабов сервисов в сетке компоненты потребуется масштабировать. Настройте политики оповещений для компонентов сетки, чтобы своевременно получать уведомления о необходимости масштабирования.
Для получения дополнительной информации смотрите Описание параметров сетки
Примечание: Если кластер является кластером OpenShift, сетка автоматически обнаружит и развернёт компонент istio-cni по умолчанию.
Следующие шаги
- Включите Istio CNI, чтобы исключить необходимость в привилегированных init-контейнерах в каждом Pod.
- Включите глобальное ограничение скорости (Global Rate Limiting).
- Используйте инструмент Istioctl.
- Мониторьте компоненты сетки.
Описание параметров сетки
Глобальная конфигурация
Глобальная конфигурация сетки применяется ко всем кластерам, где развернута сетка.
Конфигурация на уровне кластера
Конфигурация на уровне кластера применяется только к выбранному кластеру.
Конфигурация компонентов
Примечание: Компоненты сетки развертываются в определённых пространствах имён кластера в виде Deployments. После успешного создания сетки вы можете просмотреть статус работы компонентов на вкладке Components или нажать на Component Name, чтобы перейти в пространство имён, где развернут компонент на Container Platform, и просмотреть подробную информацию о Deployment работающего компонента.