部署 nginx 入口控制器后,nginx 命名空间中有两个服务
NAME TYPE CLUSTER-IP EXTERNAL-IP
ingress-nginx-controller LoadBalancer 10.28.13.78
ingress-nginx-controller-admission ClusterIP 10.28.8.39
我了解外部 IP 映射到将流量路由到入口的外部负载均衡器,但是这个 ClusterIP 的功能是什么? 此 clusterIP 是否将流量路由到应用程序服务,然后路由到应用程序 Pod?
它与admission webhook有关。这是文档的参考:
避免因错误配置而中断
因为入口控制器使用同步循环工作 模式,它将配置应用于所有匹配的对象。在 如果某些 Ingress 对象的配置损坏,例如 nginx.ingress.kubernetes.io/configuration-snippet 中的语法错误 注解,生成的配置就失效了,不 重新加载,因此不会考虑更多的入口。
为了防止这种情况发生,Ingress-Nginx 控制器 可选择公开验证准入 Webhook 服务器以确保 传入入口对象的有效性。此 Webhook 附加 传入入口对象到入口列表,生成 配置并调用nginx以确保配置没有 语法错误。