我有一个带有Istio服务网格的Azure kubernetes集群。
目前,Istio控制器与一个公共负载均衡器IP相关联。我想用内部负载均衡器配置Istio。我将使用公共IP到内部LB的防火墙映射。
如何配置Istio控制器以使用内部负载均衡器?
使用istio 1.7,您可以使用IstioOperator
。
创建一个值。yml:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
profile: default #or demo
components:
ingressGateways:
- name: istio-ingressgateway
enabled: true
k8s:
serviceAnnotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
现在使用命令istioctl install -f values.yml
安装istio。
入口网关现在将获得一个内部负载均衡器,其中集群的ip为外部ip。这样,集群只能从vnet内部或与集群一对等的vnet中获得。
如果你想有一个修复ip,从集群VNet中选择一个未使用的ip(例如10.30.09.20(,并添加:
[...]
k8s:
serviceAnnotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
service.beta.kubernetes.io/azure-load-balancer-ipv4: 10.30.09.20
您可以使用az-cli:检查ip地址是否可用/未使用
az network vnet check-ip-address -g MyResourceGroup -n MyVnet --ip-address 10.30.09.20