Как вы знаете, установив Istio, он создает балансировщик нагрузки kubernetes с публичным IP и использует публичный IP в качестве внешнего IP-адреса службы istio-ingress-gateway LoadBalancer. Поскольку IP-адрес не является статическим, я создал статический общедоступный IP-адрес в Azure, который находится в той же группе ресурсов, что и AKS, и нашел имя группы ресурсов, как показано ниже:
$ 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, добавив IP-адрес loadbalancer в istio-ingressgateway:
spec:
type: LoadBalancer
loadBalancerIP: my-staticPublicIP
Также файл: values-istio-gteways.yaml
loadBalancerIP: "mystaticPublicIP"
externalIPs: ["mystaticPublicIP"]
Затем переустановите istio с помощью команды helm, как указано выше. На этот раз он добавил mystaticPublicIP в качестве одного из External_IP сервиса istio-ingress-gateway Loadbalancer. Так что теперь у него есть как динамический IP, так и mystaticPublicIP. Это кажется неправильным способом сделать это.
Я просмотрел соответствующие вопросы на этом сайте и также погуглил, но никто из них не мог помочь.
Интересно, кто-нибудь знаеткак заставить это работать?