В этом документе представлен краткий обзор различных компонентов сервисной сетки и их ролей в платформе.
Компоненты контрольной плоскости
Component Name | Description |
---|---|
Istio | |
istiod | Компонент контрольной плоскости Istio, название которого различает разные основные версии Istio. |
istio-cni | Агент узла Istio CNI, используемый для настройки перенаправления трафика для Pod внутри сетки. Этот компонент не разворачивается по умолчанию, если не используется кластер OpenShift. |
tier2-gateway | Шлюз Tier2, совместно с шлюзом Tier1, обеспечивает расширенные возможности управления трафиком, такие как серые релизы и маршрутизация сервисов для входящего трафика в сетке. |
istio-eastwestgateway | Восточно-западный шлюз в Istio для межкластерного взаимодействия сервисной сетки. Его основная функция — обеспечить коммуникацию сервисов в разных кластерах. Этот компонент разворачивается только в сервисных сетках multi-network и multi-cluster . |
asm-core | Компонент, обеспечивающий глобальное ограничение скорости для Istio. Разворачивается по умолчанию, но функционирует только при интеграции сервисной сетки с Redis. |
OpenTelemetry | |
asm-otel-collector | Компонент решения OpenTelemetry для приёма, обработки и экспорта данных наблюдаемости. Поддерживает открытые форматы данных, такие как Jaeger и Prometheus. Трассировочные данные отправляются в Jaeger, а метрики — в Prometheus или VictoriaMetrics. |
asm-otel-collector-lb | Обеспечивает балансировку нагрузки для компонента asm-otel-collector. Данные наблюдаемости, собираемые OTel Java Agent, пересылаются в asm-otel-collector через этот компонент. |
Jaeger | |
jaeger-prod-collector | Компонент-коллектор Jaeger, собирающий данные распределённого трассирования от сайдкаров и asm-otel-collector, а также взаимодействующий с Elasticsearch для хранения трассировочных данных. |
jaeger-prod-query | Компонент запроса данных Jaeger, выполняющий запросы трассировочных данных из Elasticsearch. |
Flagger | |
flagger | Обеспечивает функциональность серых релизов и интегрируется с Istio для реализации стратегий прогрессивного развертывания сервисов. |
Прочие | |
asm-controller | Управляет и координирует различные ресурсы внутри сервисной сетки. |
Компоненты плоскости данных
Component Name | Description |
---|---|
Ingress Gateway | Независимый прокси Envoy, работающий на границе сетки. Позволяет настраивать публичные порты и протоколы для определения, какой трафик разрешён во входящий поток сетки. |
Egress Gateway | Независимый прокси Envoy, работающий на границе сетки. Позволяет контролировать, логировать и обеспечивать соблюдение политик безопасности для трафика, покидающего сетку. |
Sidecar | Обычно разворачивается в том же Pod, что и контейнер приложения. Обрабатывает сетевые запросы от приложения, включая управление трафиком, применение политик безопасности, балансировку нагрузки и обнаружение сервисов. |
OpenTelemetry Java Agent | Автоматизированный инструмент для сбора данных распределённого трассирования и метрик в Java-приложениях. Внедрение OpenTelemetry Java Agent позволяет выполнять распределённое трассирование путей запросов и сбор метрик производительности без изменения кода приложения. |
В этом разделе приведены минимально рекомендуемые вычислительные ресурсы для компонентов сервисной сетки в кластере.
Распределение CPU и памяти для каждого компонента настраивается.
Перед созданием сервисной сетки убедитесь, что узлы кластера имеют достаточный объём CPU и памяти для запуска всех компонентов сервисной сетки.
Важное примечание:
В таблице ниже приведены рекомендуемые минимальные запросы и лимиты ресурсов CPU и памяти для каждого компонента сервисной сетки.
В Kubernetes запросы ресурсов означают, что нагрузка не будет размещена на узле, если на нём нет как минимум указанного объёма доступной памяти и CPU. Если нагрузка превысит лимиты CPU или памяти, она может быть завершена или эвакуирована с узла. Для получения дополнительной информации об управлении лимитами ресурсов контейнеров смотрите документацию Kubernetes.
Component | CPU - Request | Memory - Request | CPU - Limit | Memory - Limit |
---|---|---|---|---|
Istio | ||||
istiod | 500m | 512Mi | 2000m | 2048Mi |
ingress gateway | 250m | 128Mi | 2000m | 1024Mi |
egress gateway | 250m | 128Mi | 2000m | 1024Mi |
sidecar | 100m | 128Mi | 500m | 512Mi |
tier2-gateway | 250m | 128Mi | 2000m | 1024Mi |
istio-eastwestgateway | 250m | 128Mi | 2000m | 1024Mi |
asm-core | 250m | 128Mi | 1000m | 512Mi |
OpenTelemetry | ||||
asm-otel-collector | 250m | 512Mi | 2000m | 1Gi |
asm-otel-collector-lb | 250m | 512Mi | 1000m | 1Gi |
Jaeger | ||||
jaeger-prod-collector | 250m | 512Mi | 3000m | 512Mi |
jaeger-prod-query | 250m | 512Mi | 1000m | 512Mi |
Flagger | ||||
flagger | 250m | 128Mi | 1000m | 512Mi |
Прочие | ||||
asm-controller | 250m | 512Mi | 1000m | 512Mi |