繁体   English   中英

意外的公共 IP 用于从 AKS 出口

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM