【发布时间】:2019-11-01 12:52:04
【问题描述】:
正如您所知道的,通过安装 Istio,它会创建一个带有公共 IP 的 kubernetes 负载均衡器,并将公共 IP 用作 istio-ingress-gateway LoadBalancer 服务的外部 IP。由于 IP 不是静态的,我在 Azure 中创建了一个静态公共 IP,它与 AKS 在同一个资源组中,我发现资源组名称如下:
$ az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv
https://docs.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。所以我尝试在文件上设置我的静态公共 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。 这似乎不是一个正确的方法。
我浏览了这个网站下的相关问题,也搜索了谷歌,但没有一个可以提供帮助。
我想知道是否有人知道如何解决这个问题?
【问题讨论】:
-
根据文档我找不到任何相关信息,只有that,istio 为 HTTP、gRPC、WebSocket 和 TCP 流量提供自动负载平衡。我认为解决方法可能是 azure 中的负载均衡器,然后将其配置为指向集群 istio-ingressgateway 负载均衡器 ip。
标签: istio azure-aks static-ip-address azure-load-balancer