Kubernetes Ingress比较

Ingress 提供了:

  • 负载均衡

  • HTTP/HTTPS请求映射

  • SSL/TLS终止(termination)

使得 Kubeernetes服务(services) 通过安全可达的域和URL暴露(expose),这样Kubernetes生产环境中expose服务变得简单易行。

请注意 Kubernetes集群的Load Balancer和Ingress辨析 ,Ingress工作在OSI的第7层,也就是应用层,所以提供了HTTP/HTTPS请求的检查能力。同时,Ingress也提供了无需负载均衡就能向外提供服务资源(虽然通常会结合 LoadBalancer 和 Ingress)。

常用Ingress

常用Ingress对比

Ingress

说明

优点

不足

Kubernetes Ingress控制器Nginx

主流WEB/Proxy开发

使用方便应用最广,得到K8S官方默认支持,集成度极好

TLS终结等高级需要购买商业版

KONG

基于NGINX开发 提供了企业级扩展

更多的企业认证集成

管理等高级功能需要购买商业版本

Kubernetes Ingress控制器traefik

全新的Go开发面向云原生新型Ingress

可能和K8S集成更好

Go的回收机制以及有限的历史可能未经广泛验证

Kubernetes Ingress控制器HAproxy

长期开发的全功能7层负载均衡

历史悠久具有极佳口碑并且提供了TLS终结

没有题哦那个企业级的GUI和请求跟踪(通过 Squid代理服务 结合补足)

Kubernetes Ingress控制器Contour

主流的 Istio服务网格 集成代理 Envoy负载均衡/反向代理 的Ingress controller

Envoy负载均衡/反向代理 得到K8S业界Service Mesh广泛集成事实标准

结合 Istio服务网格 可能是一个技术挑战

我个人计划分别实践以下Ingress:

计划实践Ingress列表

计划实践Ingress

说明

Kubernetes Ingress控制器Nginx

最主流Ingress,简洁易用使用广泛

Kubernetes Ingress控制器traefik

对于采用纯 Go Atlas 技术栈的公司常见选择

Kubernetes Ingress控制器HAproxy

历史悠久的开源软件经过长期稳定发展,已经成为稳健型互联网公司的首选

Kubernetes Ingress控制器Contour

主流的ServiceMesh共同选择全能型 Envoy负载均衡/反向代理 所集成的Ingress controller

参考