NGINX官方Controller开源版的核心特性
Ingress Controller允许通过Yaml编排脚本提供高可用的七层负载均衡、Waf***或者API Gateway,它是Kubernetes集群对外服务的核心组件
本文主要列举了NGINX官方的Controller和K8s官方社区Controller的区别:
1、K8s版本为了考虑到僵尸进程,加上了dumb-init(负责接管僵尸进程)、K8s版本对于容器的理解比Nginx官方版本深入
2、Nginx官方版本为了考虑到location和url的匹配,对于Ingress的抽象进行了加强,提出了VirtualServer和VirtualServerRoute,支持正则匹配/支持subroute/支持多种匹配
3、Nginx官方提供了snippets,但是只支持global级别的add_header
为了改进以上缺点,加入了自定义模版(Nginx.tmpl)配合Custom Annotations一起,可以实现不同的pod加载不同的module