云容器引擎 CCE-Ingress概述:Ingress特性对比
Ingress特性对比
特性 |
ELB Ingress Controller |
Nginx Ingress Controller |
---|---|---|
运维 |
免运维,更新升级由华为云负责 |
自行安装、升级、维护 |
性能 |
一个Ingress支持一个ELB实例 |
多个Ingress只支持一个ELB实例 |
使用企业级LB,高性能高可用,升级、故障等场景不影响业务转发 |
性能依赖pod的资源配置 |
|
支持配置动态加载 |
更新配置需reload,可能会造成业务中断 |
|
组件部署 |
Master节点,不占用工作节点 |
Worker节点,需要Nginx组件运行成本 |
路由重定向 |
不支持 |
支持 |
SSL配置 |
支持 |
支持 |
由于华为云自研的ELB Ingress和社区开源的Nginx Ingress在原理上存在本质区别,因此支持的Service类型不同,如表2中所示。
Ingress类型 |
访问类型 |
集群内访问(ClusterIP) |
节点访问(NodePort) |
---|---|---|---|
ELB Ingress |
负载均衡路由 |
不支持 |
支持 |
ENI负载均衡路由 |
支持 |
不支持 |
|
Nginx Ingress |
负载均衡路由 |
支持 |
支持 |
ENI负载均衡路由 |
支持 |
不支持 |
ELB Ingress Controller部署在master节点,所有策略配置和转发行为均在ELB侧完成。不使用ENI负载均衡的情况下,集群外部的ELB只能通过VPC的IP对接集群内部节点,因此ELB Ingress只支持NodePort类型的Service。使用ENI负载均衡后,ELB可直接将流量转发到集群内Pod,此时Ingress仅支持对接ClusterIP类型的Service。
Nginx Ingress Controller运行在集群中,作为服务通过NodePort对外暴露,流量经过Nginx-ingress转发到集群内其他业务,流量转发行为及转发对象均在集群内部,因此支持ClusterIP和NodePort类型的Service。当集群使用ENI负载均衡时,Nginx Ingress仅支持ClusterIP类型的Service。
综上,华为云自研的ELB Ingress使用企业级LB进行流量转发,拥有高性能和高稳定性的优点,而Nginx Ingress Controller部署在集群节点上,牺牲了一定的集群资源但可配置性相对更好。