GCP为Kubernetes引擎提供支持原生容器的负载均衡器-阿里云开发者社区

开发者社区> 云原生> 正文
登录阅读全文

GCP为Kubernetes引擎提供支持原生容器的负载均衡器

简介: GCP现在为运作于Google Kubernetes Engine(GKE)的应用程序,以及安装在Compute Engine上的Kubernetes,提供原生容器负载均衡。 用户现在能使用网络端点组(Network Endpoint Groups,NEGs),以任意网络端点编写负载均衡器作为IP端口对,并且对容器直接进行负载均衡。

GCP现在为运作于Google Kubernetes Engine(GKE)的应用程序,以及安装在Compute Engine上的Kubernetes,提供原生容器负载均衡

用户现在能使用网络端点组(Network Endpoint Groups,NEGs),以任意网络端点编写负载均衡器作为IP端口对,并且对容器直接进行负载均衡。通过这个GCP上新的数据模型抽象层,企业可以获得精确Pods的原生运作状况,甚至是负载均衡到Pods之间 。


最初负载均衡器是为支持虚拟机的资源分配而设计,但是这样的设计对于容器来说,并不能达到最佳效能,像是GKE这样的容器协调器( Container Orchestrator),没有一组为Pods定义的后端方法,所以负载均衡器会以实例分组作为后端。

像是GKE中的Ingress支持就以实例分组,使用HTTP/HTTPS负载均衡器对集群中的节点进行负载均衡,这些节点遵循IPTable的规则,将请求路由到Pods中,但由于虚拟机等级的负载均衡器,无法将Pods或是容器视为后端,导致负载不平衡,而且在节点之间还会发生次优路径大量数据流量跳跃的情况发生。

GCP为了解决这些问题,现在具备原生容器负载均衡能力的新网络端点组抽象层与Kubernetes Ingress控制器整合,当企业使用多层部署要在因特网公开一个或多个服务,现在可以创建一个Ingress对象,来负责提供HTTP/HTTPS负载均衡器,让企业可以配置基于路径或是主机的规则,以路由流量到后端服务。

与IPTables相比,原生容器负载均衡能为容器提供真正的最佳负载,由于之前的负载均衡系统并不了解后端容器,因此即使将流量平均分配到实例中,对容器来说也不见得是平均的,而原生容器负载均衡则能根据用户定义的负载均衡算法,将流量均匀分配到后端中。

另外,负载均衡系统具备掌握后端能力后,便能直接对容器进行执行状态检查,而不是将状态检查请求发送到节点上,再由节点转发到随机容器上,因此现在更能准确掌握后端系统运作的健康程度。而当后端的一个Pod被移除后,负载均衡器会原生的处理端点流量,并根据结束连结流量来设置后端服务。

由于负载均衡器可以直接对容器进行操作,负载均衡器到节点间将不会再有流量跳跃,因为负载均衡现在是一步而非两个步骤。原生容器负载均衡还能帮助用户排除Pod层级的故障,该服务保留来源IP,因此能轻易追踪到流量来源,而且由于容器收到的封包来自负载均衡器而非来自其他节点的NAT,因此用户可以使用节点等级的网络政策创建防火墙规则。

本文转自中文社区-GCP为Kubernetes引擎提供支持原生容器的负载均衡器

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生
使用钉钉扫一扫加入圈子
+ 订阅

云原生时代,是开发者最好的时代

其他文章
最新文章
相关文章