如您所知,通过安装 Istio,它会创建一个具有公共(public) IP 的 kubernetes 负载均衡器,并使用公共(public) IP 作为 istio-ingress-gateway LoadBalancer 服务的外部 IP。由于IP不是静态的,我在Azure中创建了一个静态公共(public)IP,它与AKS位于同一资源组中,我发现资源组名称如下:
$ az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv
https://learn.microsoft.com/en-us/azure/aks/ingress-static-ip
我通过以下命令下载安装文件:
curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.4.2 sh -
我尝试通过以下命令重新安装 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。所以我尝试在文件上设置静态公共(public)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 Loadbalancer 服务的External_IP 之一。所以现在它既有动态IP又有mystaticPublicIP。 这似乎不是一个正确的方法。
我浏览了该网站下的相关问题,也用谷歌搜索,但没有一个能提供帮助。
我想知道是否有人知道如何解决这个问题?
最佳答案
我可以使用以下命令成功将静态公共(public) IP 分配给 Istio 网关服务,
helm template install/kubernetes/helm --name istio --namespace istio-system --set gateways.istio-ingressgateway.loadBalancerIP=my-static-public-ip | kubectl apply -f –
关于istio - 为 Istio ingress-gateway 负载均衡器服务分配静态公共(public) IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58659550/