云容器引擎 CCE-Ingress概述:Ingress特性对比

时间:2023-11-01 16:25:54

Ingress特性对比

表1 Ingress特性对比

特性

ELB Ingress Controller

Nginx Ingress Controller

运维

免运维,更新升级由华为云负责

自行安装、升级、维护

性能

一个Ingress支持一个ELB实例

多个Ingress只支持一个ELB实例

使用企业级LB,高性能高可用,升级、故障等场景不影响业务转发

性能依赖pod的资源配置

支持配置动态加载

更新配置需reload,可能会造成业务中断

组件部署

Master节点,不占用工作节点

Worker节点,需要Nginx组件运行成本

路由重定向

不支持

支持

SSL配置

支持

支持

由于华为云自研的ELB Ingress和社区开源的Nginx Ingress在原理上存在本质区别,因此支持的Service类型不同,如表2中所示。

表2 支持Service类型

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部署在集群节点上,牺牲了一定的集群资源但可配置性相对更好。

support.huaweicloud.com/usermanual-cce/cce_01_0094.html