Istio 数据平面:Envoy 代理深度解析
1. Istio 与 Envoy 基础介绍
Istio 是服务网格领域的重要工具,可通过 istioctl 进行安装,使用 istioctl x precheck 验证是否能在集群中安装。其配置以 Kubernetes 自定义资源实现,通过 YAML 文件描述配置意图并应用到集群。控制平面会监控 Istio 资源,将其转换为 Envoy 配置,借助 xDS API 动态更新 Envoy 代理。服务网格的入站和出站流量由入口和出口网关管理,Envoy 代理可手动注入 YAML 文件,也能在标记为 istio-injection=enabled 的命名空间中自动注入到新创建的 Pod。还可使用 VirtualService API 操纵应用网络流量,如对失败请求进行重试。
Envoy 代理是 Istio 数据平面的核心组件,它是由 Lyft 开发的应用级代理,于 2016 年 9 月开源,2017 年 9 月加入云原生计算基金会(CNCF)。使用 C++ 编写,旨在提高性能、稳定性和确定性。其设计遵循两个关键原则:网络对应用透明,出现问题时易于定位根源。
在网络架构中,代理是客户端和服务器通信的中间组件,能提供安全、隐私和策略等额外功能。例如,可隐藏后端拓扑,实现负载均衡,检查集群中实例的健康状况并绕过故障实例。
2. Envoy 代理的特点
Envoy 代理是专门的应用级代理,可插入应用请求路径,提供服务发现、负载均衡和健康检查等功能。它能理解应用层协议,如 HTTP 1.1、HTTP 2、gRPC 等
Istio数据平面:Envoy代理深度解析
超级会员免费看
订阅专栏 解锁全文
59

被折叠的 条评论
为什么被折叠?



