Envoy简介
Ingress-nginx只是众多Ingress controller中的一种。如OpenShift是k8s里红帽的一个发行版,其默认使用的ingress controller是HAProxy。
除了HAProxy外,还有Envoy等。。
Envoy由C++语言开发,功能非常强大。为动态环境而设计,支持XDS-API,支持动态加载配置信息。
基于Envoy的controller常见方法有Gloo,Contour。
Envoy代理核心逻辑组件
contour部署示意图
contour在每一个节点上以DaemonSet的方式部署了一个Envoy。在每一个节点上使用NodePort的local流量策略,将流量至发送给本地的Envoy。
对Envoy的访问就可以转为对Service下的某个Pod的访问。
我们要改变Envoy配置中的信息,只需要写一个ingress提交给k8s,k8s会发送给contour从而转换为Envoy所能识别的配置格式。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 MyLinuxOPS!