Istio 的 Ambient 模式是一种创新的、无 Sidecar 的服务网格部署方式,通过 ztunnel 和 waypoint proxy 分离数据平面功能,简化了操作并降低了资源消耗。本篇博客将通过一份详细的术语表,帮助你更好地理解 Istio Ambient 模式中的关键概念及其背后的技术实现。
istiod
)负责管理集群内 ztunnel 和 waypoint proxy 的配置和策略,而数据平面由 ztunnel 和 waypoint proxy 组成,负责处理实际的网络流量。istiod
获取配置并执行策略,管理 Pod 之间的 L4 和 L7 流量。istiod
)istiod
使用 xDS APIs 进行配置推送,动态管理 Ambient 模式中的流量策略、证书分发以及与 Kubernetes 集群的交互。istiod
) 获取 mTLS 证书,并负责证书的管理和轮换。pistioin
和 pistioout
:用于与节点上的 istioin
和 istioout
接口通过 GENEVE 隧道连接。istioin
和 istioout
)与 ztunnel 内的接口(pistioin
和 pistioout
)。istioin
处理进入节点的流量,istioout
处理离开节点的流量。两者通过 GENEVE 隧道连接到 ztunnel 中相应的接口。istioin
或 istioout
,然后通过 GENEVE 隧道传递给 ztunnel。Istio 服务网格中所有工作负载将根据其服务账户注册 SPIFFE 标准的服务身份格式:spiffe://<trust-domain>/ns/<namespace>/sa/<service-account>
。
ztunnel-pods-ips
是每个节点上用于存储 Ambient 网格 Pod IP 的集合。ztunnel-pods-ips
中,以确保这些 Pod 的流量可以被 iptables 规则识别和处理。istioin
和 istioout
),从而将流量引导至 ztunnel 进行处理。Istio Ambient 模式通过将数据平面功能分为 L4 和 L7 层的独立组件,为用户提供了更轻量且灵活的服务网格解决方案。这种方式不仅简化了服务的部署,还大幅降低了资源开销。通过术语表的方式,我们探讨了 Ambient 模式中的各种核心概念,从 ztunnel 到 waypoint proxy,再到 iptables 和 eBPF 的使用,帮助你全面了解 Istio Ambient 模式的架构和运行机制。如果你对服务网格感兴趣或正在考虑如何优化微服务通信,希望这篇文章对你有所帮助。
最后更新于 2025/02/13