Создание сервисной сетки

Этот документ объясняет, как создать сервисную сетку в одном кластере. Прежде чем продолжить, убедитесь, что вы знакомы с следующими темами:

  • Модели развертывания сетки: выберите модель развертывания сетки, соответствующую вашим потребностям.
  • Описания компонентов сетки: поймите роли компонентов сетки и подготовьте необходимые ресурсы ЦП и памяти для сервисной сетки.

Для получения инструкций по созданию сервисной сетки в нескольких кластерах обратитесь к документации по многокластерной сервисной сетке.

Содержание

Ограничения и ограничения

  • В каждом кластере допускается только одна сервисная сетка.
  • Если кластер является глобальным кластером, а платформа находится в среде аварийного восстановления (т.е. глобальный кластер имеет основной кластер и кластер аварийного восстановления), глобальный кластер не может развернуть сервисную сетку.
  • Если кластер является сетью с двойным стеком IPv4/IPv6, сервисная сетка не может быть развернута.

Предварительные требования

Скачайте пакет установки оператора Alauda Service Mesh, соответствующий архитектуре вашей платформы.

Загрузите пакет установки оператора Alauda Service Mesh с помощью механизма загрузки пакетов.

Убедитесь, что кластер развернул плагин Prometheus или плагин VictoriaMetrics.

Примечание: Когда VictoriaMetrics развернут в архитектуре многокластерного развертывания, vmstorage может находиться в другом кластере, отличном от сервисной сетки.

Убедитесь, что доступен Elasticsearch. Сервисная сетка может интегрироваться с плагином журнала Elasticsearch кластера или с вашим собственным Elasticsearch.

Если кластер является кластером OpenShift, также должны быть выполнены следующие предварительные требования:

  • Пространство имен istio-system создано.
  • Добавьте пространство имен istio-system в группу anyuid SCC (ограничения контекста безопасности). Для этого войдите на хост-передатчик кластера OpenShift и выполните команду:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system

Шаги

  1. В левой навигационной панели нажмите Service Mesh > Mesh.
  2. Нажмите Создать сервисную сетку.
  3. Выберите кластер и версию Istio для развертывания сервисной сетки. В расширенной конфигурации убедитесь, что архитектура сетки является однокластерной, и заполните параметры интерфейса для Elasticsearch и системы мониторинга. Вы можете выбрать существующую систему платформы или внешнюю систему.
    • Если строго требуется высокая доступность, установите обязательное анти-совмещение Pod.
    • Ресурсы компонентов могут использовать значения по умолчанию, но по мере роста масштаба сервисов в сетке компоненты потребуют увеличения. Настройте политики оповещения для компонентов сетки вовремя, чтобы быть в курсе необходимости масштабирования.

Для получения дополнительной информации смотрите Описание параметров сетки

Примечание: Когда кластер является кластером OpenShift, сетка автоматически обнаружит и развернет компонент istio-cni по умолчанию.

Следующие шаги

  • Включить Istio CNI, чтобы устранить необходимость в привилегированных контейнерах инициализации в каждом Pod.
  • Включить глобальное ограничение скорости.
  • Использовать инструмент Istioctl.
  • Мониторинг компонентов сетки.

Описание параметров сетки

Глобальная конфигурация

Глобальная конфигурация сетки будет применена ко всем кластерам, где развернута сетка.

ПараметрОписание
Интерфейс с ElasticsearchПлатформа: Интерфейс с плагином журнала Elasticsearch на любом кластере платформы. Выберите кластер, где находится плагин журнала Elasticsearch.
Внешний: Интерфейс с внешним плагином журнала Elasticsearch. Пользователям необходимо настроить следующие параметры:
Адрес доступа: Адрес доступа к Elasticsearch, начинающийся с http:// или https://.
Метод аутентификации: Метод аутентификации для доступа к Elasticsearch.
- Basic Auth: Введите имя пользователя и пароль для проверки личности пользователя.
- Без аутентификации: Аутентификация не требуется для доступа.
Интерфейс с системой мониторингаПлатформа: Интерфейс с плагином Prometheus или плагином VictoriaMetrics в кластере.
Внешний: Интерфейс с Prometheus или VictoriaMetrics, предоставляемыми внешним плагином. Пользователям необходимо настроить следующие параметры:
Адрес запроса данных: Адрес запроса данных компонента мониторинга, начинающийся с http:// или https://.
Метод аутентификации: Метод аутентификации для доступа к системе мониторинга.
- Basic Auth: Введите имя пользователя и пароль для проверки личности пользователя.
- Без аутентификации: Аутентификация не требуется для доступа.
Примечание: Из-за невозможности плагина Prometheus агрегировать данные мониторинга из нескольких кластеров сервисная сетка в этом кластере не может добавлять больше кластеров для формирования многокластерной сервисной сетки.

Конфигурация по размеру кластера

Конфигурация по размеру кластера применяется только к выбранному кластеру.

ПараметрОписание
Конфигурация SidecarКвота ресурсов: Значение квоты ресурсов sidecar по умолчанию на уровне кластера. Она может быть изменена в зависимости от фактических условий при инъекции sidecar для конкретных сервисов, но не может превышать максимальный лимит квоты контейнера пространства имен (LimitRange), в котором находится sidecar.
Конфигурация TraceЧастота выборки: Значение частоты выборки трассировки sidecar по умолчанию на уровне кластера.
Конфигурация RedisДолжен быть настроен только при использовании функции Глобальное ограничение скорости в плоскости данных. Для конкретных методов конфигурации смотрите Включить глобальное ограничение скорости.
Политика повторного запроса HTTPКоличество повторов: Максимальное количество повторов запроса HTTP по умолчанию на уровне кластера.
Примечание: Количество повторов в политике маршрутизации сервиса Таймаут и повторы переопределит это значение по умолчанию.

Конфигурация компонентов

Примечание: Компоненты сетки развертываются в определенных пространствах имен кластера в виде развертываний. После успешного создания сетки вы можете просмотреть статус работы компонентов на вкладке Компоненты или щелкнуть Имя компонента, чтобы перейти к пространству имен, где развернут компонент на контейнерной платформе, и просмотреть подробную информацию о работе развертывания компонента.

ПараметрОписание
Анти-совмещение PodKubernetes будет планировать Pod компонентов на узлы, которые соответствуют настройкам Анти-совмещения Pod.
Обязательно: Разрешено запускать только один Pod одного компонента на одном узле.
Предпочтительно: Разрешено запускать несколько Pods одного компонента на одном узле. Kubernetes попытается равномерно распределить Pods компонента по доступным узлам в соответствии с алгоритмом планирования, но не может гарантировать наличие Pods компонента на каждом узле.
Количество экземпляровОжидаемое количество Pods компонентов, которое должно быть запущено, устанавливаемое в зависимости от фактического объема запросов бизнеса.
Квота ресурсовЗначение запроса ресурса (ЦП, память) (requests) для каждого экземпляра контейнера компонента при его создании, которое также является лимитом (limits) доступных ресурсов для контейнера. Установите его разумно в зависимости от фактического объема бизнеса и количества экземпляров.
Узел развертыванияУзлы, на которых развернут компонент. При создании сетки Pods компонентов могут быть запланированы только на выбранных узлах.
ELBБалансировщик нагрузки Huawei Cloud Elastic Load Balancer (ELB), используемый для обеспечения возможности балансировки нагрузки для шлюза Istio в кластере CCE. Когда выбранный кластер является кластером CCE, вам необходимо заполнить ID ELB и тип ELB, чтобы связать ELB, подготовленный заранее для кластера.
Общие ресурсыОбщая квота ресурсов (ЦП, память), необходимая для создания всех экземпляров контейнеров компонента в рамках текущей конфигурации. Когда компонент активирован для автоматического масштабирования, он рассчитывается в зависимости от максимального количества экземпляров.