当我部署 istio-ingress helm 图表时,它正在创建负载均衡器服务,该服务正在 EKS 的私有子网中创建 NLB。
我没有在服务级别上设置任何注释,如下所示。但是,它仍在私有子网中创建 NLB。
# To generate an internal load balancer:
# --set serviceAnnotations.cloud.google.com/load-balancer-type=internal
#serviceAnnotations:
# cloud.google.com/load-balancer-type: "internal"
这背后的原因可能是什么?我刚刚部署了 istio-ingress helm 图表,没有覆盖任何默认值。看起来默认情况下它应该在公共子网中创建一个 NLB
如果我想访问通过内部负载均衡器从公共公开的应用程序,该怎么做?
我通过设置以下注释解决了这个问题
service:
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
service.beta.kubernetes.io/aws-load-balancer-scheme: "internet-facing"
service.beta.kubernetes.io/aws-load-balancer-attributes: "load_balancing.cross_zone.enabled=true"