如您所知,通过安装Istio,它会创建一个带有publicIP的kubernetes负载平衡器,并将该公共IP用作istio-ingress-gateway LoadBalancer服务的外部IP。由于IP不是静态的,因此我在Azure中创建了一个静态公共IP,该IP与AKS在同一ResourceGroup中,我发现资源组名称如下:
$ az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv
https://docs.microsoft.com/en-us/azure/aks/ingress-static-ip
我尝试通过以下命令重新安装istio:
$ helm template install/kubernetes/helm/istio --name istio --namespace istio-system --set grafana.enabled=true --set prometheus.enabled=true --set tracing.enabled=true --set kiali.enabled=true --set gateways.istio-ingressgateway.loadBalancerIP= my-static-public-ip | kubectl apply -f -
但是不管用,还是获得了动态IP。因此,我尝试在文件上设置我的静态公共IP: istio-demo.yaml,istio-demo-auth.yaml,方法是在istio-ingressgateway下添加负载均衡器IP:
spec:
type: LoadBalancer
loadBalancerIP: my-staticPublicIP
另外一个文件:values-istio-gteways.yaml
loadBalancerIP: "mystaticPublicIP"
externalIPs: ["mystaticPublicIP"]
然后使用上述helm命令重新安装istio。这次,它将mystaticPublicIP添加为istio-ingress-gateway负载均衡器服务的External_IP之一。因此,现在它既具有动态IP又具有mystaticPublicIP。 这似乎不是正确的方法。
我浏览了该网站下的相关问题,并用谷歌搜索,但没有一个可以帮助您。
我想知道是否有人知道如何解决这个问题?
答案 0 :(得分:0)
我可以使用以下命令将静态公共IP成功分配给Istio网关服务
helm template install/kubernetes/helm --name istio --namespace istio-system --set gateways.istio-ingressgateway.loadBalancerIP=my-static-public-ip | kubectl apply -f –