我正在Azure环境(AKS)中尝试Kubernetes。
我部署了一个nginx入口,并通过公共ip和azure负载平衡器向Internet公开。它用于公开公共/前台服务。
我的问题是我想部署不向Internet公开的“后退”服务。我的第一个猜测是部署第二个入口并将其暴露在内部负载平衡器上,对吗?
但是,如果我的前台服务需要使用后台服务,该如何在第二个入口上使用它(使用nginx配置,ssl卸载等),但不进行内部负载均衡器的往返。在这种情况下,DNS配置是什么?
答案 0 :(得分:1)
入口控制器用于外部流量。对于群集内通信,最好使用Kubernetes Services,它将在群集内配置DNS。有了服务,您就可以调用后端服务,而无需往返于外部资源,负载平衡将在k8s集群内部进行。没有什么可以阻止您部署nginx pod或将其作为sidecar注入后端服务pod并将其用作反向代理,但是您真的使用nginx配置和相互TLS进行集群内通信吗?如果确实需要双向TLS,则最好查看Istio之类的内容,但这对于您的用例而言可能是过大了。
答案 1 :(得分:0)
您不需要部署辅助入口服务。您需要做的只是将服务端点[IP]设为私有,它们应该只能与您的入口服务进行通话。
如何创建专用IP:https://docs.microsoft.com/en-us/azure/aks/ingress-internal-ip