对于具有AKS服务的Microsoft Azure云,我们希望部署仅可由我们的团队访问的内部应用程序。
这种情况:
即使使用private DNS也只能连接虚拟网络虚拟机。
那怎么办?
答案 0 :(得分:1)
您可以在Azure中使用内部负载平衡器(ILB),它与常规负载平衡器一样,但是仅具有来自部署了AKS的同一VNET的私有IP(因此,没有公共IP)。它使用注释:
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
,如本article中所述。您可以使用AzureDNS将A记录指向该IP。
答案 1 :(得分:0)
最后,这是正确的解决方案:
https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/whitelist
如果使用nginx-ingress,请使用以下设置进行安装:
helm install stable/nginx-ingress \
--set controller.service.externalTrafficPolicy=Local
答案 2 :(得分:-2)
这是Calico在AWS上的解决方案:
https://docs.aws.amazon.com/eks/latest/userguide/calico.html