[英]Unexpected Public IP used for egress from AKS
我有 2 個在 AKS 1.15.9 中運行的 LoadBalancer 類型的 Kubernetes 服務
$ kubectl get svc --all-namespaces | grep Load
istio-system istio-egressgateway LoadBalancer 10.0.177.123 51.A.XXXXX
istio-system istio-ingressgateway LoadBalancer 10.0.198.456 20.B.XXXXX
但是,當我運行 Pod 來檢查出口 IP 時,它使用的是51.C.XXXX
curl -s checkip.dyndns.org
the AKS egress IP address is shown in the response is 51.C.XXXX
我預計 AKS 會使用來自 K8s 服務的 LoadBalancer IP 之一。
ingress
IP 和egress
IP 之間存在差異。
Egress ,來自文檔:
來自 AKS 群集的出站流量遵循 Azure 負載均衡器約定。 在創建第一個 LoadBalancer 類型的 Kubernetes 服務之前,AKS 群集中的代理節點不屬於任何 Azure 負載平衡器池。 在此配置中,節點沒有實例級別的公共 IP 地址。 Azure 將出站流轉換為不可配置或不可確定的公共源 IP 地址。
話雖如此,從curl -s checkip.dyndns.org
返回的 IP 是出口 IP。 這是 aks 集群的出站公共 IP。
入口,來自文檔:
入口 controller 是一款為 Kubernetes 服務提供反向代理、可配置流量路由和 TLS 終止的軟件。 Kubernetes 入口資源用於配置各個 Kubernetes 服務的入口規則和路由。 使用入口 controller 和入口規則,單個 IP 地址可用於將流量路由到 Kubernetes 集群中的多個服務。
入口 IP - 在您的情況下,負載均衡器是公共\內部 IP,它負責反向代理和可配置的流量路由。
圖表:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.