ingress

preview

Nginx ingress 的缺点

Ingress 是 K8S 中非常重要的外网流量入口,前面又拍云的总监也讲到了 K8S 默认的 Nginx ingress。这个 ingress 是 K8S 所推荐的默认的 ingress。为了跟后面的 Nginx 提供的商业版 ingress 作为区分,我就叫它叫 K8S ingress。K8S ingress,顾名思义基于 Nginx 的平台,Nginx 现在是世界上最流行的 Nginx HTTP Sever,相信在座各位都对 Nginx 比较熟悉,这是一个优点。第二个优点则是 Nginx ingress 接入 K8S 集群所需配置非常少,而且有很多文档来指引你如何使用这个 ingress。这对于大部分刚接触 K8S 的人或者创业公司来说,Nginx ingress 确实是一个非常好的选择。

但是当 Nginx ingress 在一些大环境上使用时,就会有非常多的问题。第一个,Nginx ingress它用了一些 OpenResty 的特性,但最终配置加载还是依赖于原有的 Nginx config reload。当路由配置非常大的时候,Nginx reload 会耗时非常久,可以达到几秒甚至十几秒,这种 reload 会很严重的影响业务,甚至造成业务中断,这是第一个问题。

第二个问题是 Nginx ingress 的插件开发非常困难,如果你觉得 Nginx ingress 本身插件够用,那还是可以用的。但如果想用一些定制化的插件,比如像阿里云的IM鉴权,或者是腾讯云的 KM 鉴权都需要进行额外的开发。Nginx ingress 开发插件非常痛苦,额外开发就非常麻烦,所以 Nginx ingress 的插件能力和可扩展性是比较差的。

preview

Leave a Reply

Your email address will not be published. Required fields are marked *