告别Ingress:使用Gateway API和Cilium管理Kubernetes流量


在 Kubernetes 的动态世界中,高效、安全地管理入口流量一直是一项至关重要的挑战。

然而,一个突破性的解决方案已经出现,有望改变我们处理 Kubernetes 集群内流量路由的方式。

认识一下Gateway API:Kubernetes Ingress 的长期替代品,它为运维人员带来了很多好处,包括基于角色的访问控制、可移植性和可扩展性。

在本文中,我们将深入研究 Gateway API 的创新功能,并探索它为何有望彻底改变 Kubernetes 流量管理。

Cilium
我们不断从用户那里听到的是,他们正面临着工具泛滥的问题:在部署复杂的微服务架构时,运营者通常需要部署一个CNI、一个网络策略引擎、一个用于观察或加密的服务网、一个入口或网关API控制器等等。

这可能成为升级和管理的一个令人头痛的操作问题。

Cilium使用户能够整合他们拥有的云原生网络和安全工具的数量--因为Cilium不仅原生支持Gateway API,还支持Sidecar-less Service Mesh、透明加密、网络策略、Hubble的内置观测能力等。

Cilium在各种可用于Kubernetes的容器网络接口(CNI)中脱颖而出。围绕eBPF(扩展的伯克利数据包过滤器),Cilium专注于Kubernetes网络中的网络、可观察性和安全性。

虽然它提供了标准的网络功能,如为Pod分配CIDR和实现它们之间的通信,但关键的区别在于其eBPF后端。通过利用eBPF的能力,如哈希表,Cilium消除了对kube-proxy和IP表的需求,在管理Kubernetes集群内的网络操作方面提供了更好的效率和性能。

Gateway API
Gateway API是一个由SIG-NETWORK社区管理的开源项目。它是一个资源的集合,在Kubernetes中对服务网络进行建模。这些资源--GatewayClass、Gateway、HTTPRoute、TCPRoute、Service等--旨在通过表达式的、可扩展的、面向角色的接口来发展Kubernetes服务网络,这些接口被许多供应商实现,并得到了广泛的行业支持。

Gateway API最初被认为是著名的Ingress API的继承者,其优点包括(但不限于)对许多常用网络协议(如HTTP、TLS、TCP、UDP)的明确支持,以及对传输层安全(TLS)的紧密集成支持。尤其是Gateway资源使实施者能够作为Kubernetes API管理网络网关的生命周期。

Cilium Gateway API
Cilium现在已经加入了对Gateway API的支持,这是一个重要的里程碑!Gateway API是Kubernetes Ingress的未来替代品,为运营者提供了基于角色的、可移植的、可扩展的方法,以便在其集群内有效地路由流量。

Cilium引入了一系列令人兴奋的功能。它提供了一个完全符合Gateway API的实现,为用户提供了一个灵活而强大的流量路由方法。

此外,还有新的注释可用于配置L7负载平衡,包括每请求gRPC平衡。该版本还包括合并的mTLS数据路径,为未来的无代理mTLS实施奠定了基础,可以与各种身份管理供应商整合。网络增强功能,如BIG TCP、用于LoadBalancer Kubernetes服务的IPAM、SCTP支持和NAT46/64改进,都已经实现。

通过图像签名和创建软件材料清单(SBOM),安全性得到了加强。NetworkPolicy现在支持匹配TLS SNI服务器名称。Isovalent和Grafana之间的合作为Grafana用户带来了更好的网络流量洞察力和更丰富的追踪数据。


是时候迎接Kubernetes流量管理的未来了。不要错过这场革命。潜心研究Gateway API,以无与伦比的控制力、安全性和灵活性来解锁流量路由。Kubernetes集群内优化流量管理的时代已经到来。