本文档简要介绍服务网格的各个组件及其在平台中的作用。
控制平面组件
组件名称 | 说明 |
---|---|
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 等开源数据格式。Trace 数据发送至 Jaeger,Metrics 数据发送至 Prometheus 或 VictoriaMetrics。 |
asm-otel-collector-lb | 为 asm-otel-collector 组件提供负载均衡。OTel Java Agent 收集的可观测性数据通过该组件转发至 asm-otel-collector。 |
Jaeger | |
jaeger-prod-collector | Jaeger 的 collector 组件,负责收集来自 sidecar 和 asm-otel-collector 的分布式追踪数据,并与 Elasticsearch 交互存储追踪数据。 |
jaeger-prod-query | Jaeger 的数据查询组件,用于从 Elasticsearch 查询追踪数据。 |
Flagger | |
flagger | 提供灰度发布功能,并与 Istio 集成,实现服务的渐进式交付策略。 |
其他 | |
asm-controller | 管理和协调服务网格内的各类资源。 |
数据平面组件
组件名称 | 说明 |
---|---|
Ingress Gateway | 运行在网格边缘的独立 Envoy 代理。允许配置公网端口和协议,用于指定允许进入网格的流量。 |
Egress Gateway | 运行在网格边缘的独立 Envoy 代理。用于监控、日志记录和执行离开网格流量的安全策略。 |
Sidecar | 通常部署在与应用容器相同的 Pod 中。负责处理应用的网络请求,包括流量管理、安全策略执行、负载均衡和服务发现。 |
OpenTelemetry Java Agent | 用于在 Java 应用中自动收集分布式追踪和指标数据的工具。通过注入 OpenTelemetry Java Agent,可以在不修改应用代码的情况下,实现请求路径的分布式追踪和性能指标的采集。 |
本节概述集群中服务网格组件的最低推荐计算资源。
各组件的 CPU 和内存分配均可配置。
在创建服务网格之前,请确保集群节点拥有足够的 CPU 和内存以运行所有服务网格组件。
重要说明:
下表汇总了各服务网格组件的 CPU 和内存的推荐最低请求和限制。
在 Kubernetes 中,资源请求表示工作负载不会部署到节点上,除非该节点至少有指定数量的可用内存和 CPU。若工作负载超过 CPU 或内存限制,可能会被终止或从节点驱逐。有关管理容器资源限制的更多信息,请参见 Kubernetes 文档。
组件 | CPU - 请求 | 内存 - 请求 | CPU - 限制 | 内存 - 限制 |
---|---|---|---|---|
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 |