Создание service mesh
В этом документе описывается, как создать service mesh для одного кластера. Перед началом убедитесь, что вы знакомы со следующими темами:
- Модели развертывания Mesh: выберите модель развертывания mesh, которая подходит для ваших задач.
- Описание компонентов Mesh: изучите роли компонентов mesh и подготовьте необходимые ресурсы CPU и memory для service mesh.
Инструкции по созданию service mesh для нескольких кластеров см. в документации Multi-Cluster Service Mesh.
Содержание
Ограничения и лимитыПредварительные требованияШагиДальнейшие действияОписание параметров MeshГлобальная конфигурацияКонфигурация по измерению clusterКонфигурация компонентовОграничения и лимиты
- В одном кластере допускается только один service mesh.
- Если cluster является глобальным cluster и платформа находится в среде disaster recovery (то есть у global есть primary cluster и disaster recovery cluster), global cluster не может развернуть service mesh.
- Если cluster является сетью dual-stack IPv4/IPv6, развертывание service mesh невозможно.
Предварительные требования
-
Установлен Alauda Service Mesh Essentials Cluster Plugin.
-
Скачайте следующий installation package, соответствующий архитектуре вашей platform, и используйте механизм Upload Packages, чтобы загрузить package в global cluster и целевой cluster (не устанавливайте их вручную).
Alauda Service MeshOperatorFlaggerOperatorAlauda Build of JaegerOperatorAlauda Build of OpenTelemetryOperator
-
Убедитесь, что в cluster развернут plugin Prometheus или plugin VictoriaMetrics.
Примечание: Когда VictoriaMetrics развернут в архитектуре multi-cluster,
vmstorageможет находиться в другом cluster, отличном от service mesh. -
Убедитесь, что доступен Elasticsearch. Service mesh может взаимодействовать с logging plugin Elasticsearch в cluster или с вашим собственным Elasticsearch.
-
Если cluster является cluster OpenShift, необходимо также выполнить следующие предварительные требования:
- Namespace
istio-systemсоздан. - Добавьте namespace
istio-systemв группуanyuidSCC (Security Context Constraints). Для этого войдите на bastion host cluster OpenShift и выполните команду:
- Namespace
Шаги
- В левой панели навигации нажмите Service Mesh > Mesh.
- Нажмите Create Service Mesh.
- Выберите cluster и версию Istio для развертывания service mesh. В расширенной конфигурации убедитесь, что архитектура mesh — single-cluster, и заполните параметры интерфейса для Elasticsearch и monitoring system. Можно выбрать существующую system platform или external system.
- Если высокая доступность строго обязательна, установите Pod anti-affinity в значение mandatory.
- Для компонентов можно использовать значения по умолчанию, но по мере роста масштаба services в mesh компонентам потребуется масштабирование. Настройте политики alert для компонентов mesh заранее, чтобы получать уведомления, когда потребуется масштабирование.
Дополнительные сведения см. в Mesh Parameter Description
Примечание: Если cluster является cluster OpenShift, mesh автоматически обнаружит и по умолчанию развернет компонент istio-cni.
Дальнейшие действия
- Включите Istio CNI, чтобы не использовать privileged init containers в каждом Pod.
- Включите Global Rate Limiting.
- Используйте инструмент Istioctl.
- Мониторьте компоненты Mesh.
Описание параметров Mesh
Глобальная конфигурация
Глобальная конфигурация mesh будет применена ко всем cluster, где развернут mesh.
Конфигурация по измерению cluster
Конфигурация по измерению cluster применяется только к выбранному cluster.
Конфигурация компонентов
Примечание: Компоненты Mesh развертываются в определенных namespace cluster в виде Deployments. После успешного создания mesh вы можете просмотреть состояние компонентов на вкладке Components или нажать Component Name, чтобы перейти в namespace, где компонент развернут на Container Platform, и просмотреть подробную информацию о Deployment работающего компонента.