Создание service mesh
В этом документе описано, как создать однокластерный service mesh. Прежде чем продолжить, убедитесь, что вам знакомы следующие темы:
- Модели развертывания Mesh: выберите модель развертывания mesh, которая соответствует вашим требованиям.
- Описания компонентов Mesh: ознакомьтесь с ролями компонентов mesh и подготовьте необходимые ресурсы CPU и memory для service mesh.
Инструкции по созданию многокластерного service mesh см. в документации Multi-Cluster Service Mesh.
Содержание
Ограничения и лимитыПредварительные требованияШагиСледующие шагиОписание параметров MeshГлобальная конфигурацияКонфигурация на уровне clusterКонфигурация компонентовОграничения и лимиты
- В каждом cluster допускается только один service mesh.
- Если cluster является global cluster и платформа находится в среде disaster recovery (то есть для global есть primary cluster и disaster recovery cluster), global cluster не может развертывать service mesh.
- Если cluster использует двухстековую сеть IPv4/IPv6, service mesh развернуть нельзя.
Предварительные требования
-
Установлен Alauda Service Mesh Essentials Cluster Plugin.
-
Скачайте следующий установочный пакет, соответствующий архитектуре вашей платформы, и используйте механизм Upload Packages, чтобы загрузить пакет в global cluster и целевой cluster (не устанавливайте их вручную).
Alauda Service MeshOperatorFlaggerOperatorAlauda Build of JaegerOperatorAlauda Build of OpenTelemetryOperator
WARNINGПри загрузке operators с помощью
violet pushне добавляйте параметр--target-catalog-source— используйте каталог source по умолчанию, определенный внутри operator. -
Убедитесь, что в cluster развернут plugin Prometheus или plugin VictoriaMetrics.
Примечание: Если VictoriaMetrics развернут по многокластерной архитектуре,
vmstorageможет находиться в другом cluster, отличном от service mesh. -
Убедитесь, что доступен Elasticsearch. Service mesh может взаимодействовать с 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 является однокластерной, и заполните параметры интерфейса для Elasticsearch и системы мониторинга. Можно выбрать существующую систему платформы или внешнюю систему.
- Если требуется строгая высокая доступность, задайте Pod anti-affinity как mandatory.
- Ресурсы компонентов можно оставить со значениями по умолчанию, но по мере роста масштаба services в mesh компонентам потребуется увеличение ресурсов. Настройте политики оповещений для компонентов 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 работающего компонента.