启用ingress-nginx的ssl passthrough后所有后端都有性能损耗吗?需部署独立Ingress吗?
问题解答
性能损耗影响范围
首先明确结论:启用--enable-ssl-passthrough全局参数带来的性能损耗仅作用于配置了nginx.ingress.kubernetes.io/ssl-passthrough注解的Ingress对应的后端服务,不会影响未配置该注解的常规业务。
官方文档中描述的「完全绕过NGINX」指的是仅匹配到passthrough规则的流量,会跳过NGINX的HTTP/HTTPS处理链路,走专门的四层透传代理逻辑;未配置该注解的常规HTTP/HTTPS流量,仍然走NGINX原生的请求处理链路,SSL卸载、路由匹配、限流限速等功能完全不受影响,也不会产生额外性能损耗。
集群部署方案建议
可以根据你的集群业务规模、性能要求选择对应方案:
- 若集群Web业务流量大、对延迟/吞吐量要求极高:建议部署两套独立的Ingress Controller
- 第一套不开启
--enable-ssl-passthrough参数,专门承接所有Web类常规HTTP/HTTPS流量,无任何额外功能开销,性能最优 - 第二套单独开启
--enable-ssl-passthrough参数,仅用于代理Kafka等需要TLS透传的四层TCP流量,两套实例互不干扰,还可根据业务特性分别做参数调优、资源配额配置
- 第一套不开启
- 若集群整体流量规模较小、对性能敏感程度较低:可共用一套开启了
--enable-ssl-passthrough的Ingress Controller,只要不给普通Web业务的Ingress添加passthrough注解,常规业务的性能不会有可感知的差异,也不需要额外承担两套Ingress的运维成本。
内容的提问来源于stack exchange,提问作者schrom
相关产品推荐
相关产品推荐

