一张图理解Envoy

简介: Istio Envoy

Envoy 是 Istio 数据面的核心组件,已Sidecar的模式同应用部署在一个Pod中。
下图展示了Envoy配置流程:


Envoy.png

  • Pilot-agent负责Envoy生命周期管理。它根据启动参数和K8S API Server中的配置信息生成Envoy的初始配置文件envoy-rev0.json,该文件告诉Envoy从xDS server中获取动态配置信息,并配置了xDS server的地址信息,即控制面的Pilot。
  • Pilot-agent使用envoy-rev0.json启动Envoy进程。
  • Envoy根据初始配置获得Pilot地址,采用xDS接口从Pilot获取到Listener,Cluster,Route等动态配置信息。
  • Envoy根据获取到的动态配置启动Listener,并根据Listener的配置,结合Route和Cluster对拦截到的流量进行处理。

Envoy通过xDS API进行动态配置。xDS是一类发现服务的总称,包含LDS、RDS、CDS、EDS及SDS。

  • LDS:Listener发现服务。Listener监听器控制Envoy启动端口监听(目前只支持TCP),并配置 L3或L4层过滤器,在网络连接到达后,由网络过滤器堆栈开始处理。
  • RDS:Route发现服务,用于Envoy HTTP连接管理器动态获取路由配置。路由配置包含HTTP头修改(增加、删除HTTP头键值)、Virtual Hosts(虚拟主机)及Virtual Hosts定义的各个路由条目。
  • CDS:Cluster发现服务,用于动态获取Cluster信息。Envoy Cluster管理器管理着所有的上游Cluster。Envoy从Listener(针对TCP协议)或Route(针对HTTP)中抽象出上游Cluster,作为流量转发目标。
  • EDS:Endpoint发现服务。对于每个Cluster,Envoy通过EDS API动态获取Endpoint。
  • SDS:Secret发现服务,用于在运行时动态获取TLS证书。
目录
相关文章
|
运维 负载均衡 监控
服务网格技术对比:深入比较Istio、Linkerd和Envoy等服务网格解决方案的优缺点
服务网格技术对比:深入比较Istio、Linkerd和Envoy等服务网格解决方案的优缺点
660 0
|
JSON Rust 安全
Istio Ambient Mesh Ztunnel实现剖析(1)配置解析
前言在Istio Ambient Mesh中,社区引入了名为ztunnel的新组件,ztunnel的名字来源于Zero-Trust Tunnel,即零信任管道,Ztunnel 旨在专注于Ambient Mesh中工作负载4层安全能力,例如 mTLS、身份验证、L4 授权,而无需进行七层流量解析。ztunnel 确保流量高效、安全地传输到负责七层处理的Waypoint Proxy或在对端无waypo
426 0
|
7月前
|
Kubernetes 网络协议 安全
Istio多集群(1)-多控制面
Istio多集群(1)-多控制面
94 2
|
负载均衡 Kubernetes Java
【服务网格架构】Envoy和类似的系统比较
【服务网格架构】Envoy和类似的系统比较
|
负载均衡 前端开发 网络协议
【服务网格架构】Envoy 部署类型
【服务网格架构】Envoy 部署类型
|
负载均衡 NoSQL 网络协议
服务网格:什么是Envoy(特使)
服务网格:什么是Envoy(特使)
|
网络协议 数据可视化 NoSQL
【服务网格架构】Envoy架构概览(8):统计,运行时配置,追踪和TCP代理
【服务网格架构】Envoy架构概览(8):统计,运行时配置,追踪和TCP代理
|
负载均衡 网络协议 安全
【服务网格架构】Envoy 架构概览(1):术语,线程模型,监听器和网络(L3 / L4)过滤器和HTTP连接管理
【服务网格架构】Envoy 架构概览(1):术语,线程模型,监听器和网络(L3 / L4)过滤器和HTTP连接管理
|
负载均衡 Kubernetes Java
Envoy和类似的系统比较
Envoy和类似的系统比较
|
负载均衡 前端开发 网络协议
Envoy 部署类型
Envoy 部署类型