具有 ClusterIP 的 Pod 与入口的静态 IP 具有不同的 IP
Pod with ClusterIP had a different IP than static IP of ingress
我正在使用 Postgres 在 Azure 上管理一个小型 Kubernetes 集群。可以通过具有静态 IP 的 Nginx 控制器访问此集群。
ClusterIP 的入口路由到使用 Postgres 实例的 pod。这个 Postgres 实例的所有 IP 都被阻止了,除了我自己的 IP 和入口的静态 IP 之外。
在我今天早上推送更新之前,这一直运行良好,令我惊讶的是,我在日志中看到一个错误,即 pods IP 地址与静态入口 IP 不同,并且因此存在权限错误。
我的问题:我的带有 ClusterIP 的 pod 的外部 IP 地址怎么可能与我分配给它的入口静态 IP 不同?
请注意,通过 Ingress 可以轻松到达 pod。
Ingresses
和 Services
仅处理传入的 pod 流量。 Pod 传出流量 IP 取决于您使用的 Kubernetes 网络实现。默认情况下,来自 pods 的所有传出连接都在节点级别进行源 NAT 转换,这意味着 pod 将具有其运行所在的节点的 IP。因此,您可能希望在 Postgres 中允许工作节点 IP 地址。
我正在使用 Postgres 在 Azure 上管理一个小型 Kubernetes 集群。可以通过具有静态 IP 的 Nginx 控制器访问此集群。
ClusterIP 的入口路由到使用 Postgres 实例的 pod。这个 Postgres 实例的所有 IP 都被阻止了,除了我自己的 IP 和入口的静态 IP 之外。 在我今天早上推送更新之前,这一直运行良好,令我惊讶的是,我在日志中看到一个错误,即 pods IP 地址与静态入口 IP 不同,并且因此存在权限错误。
我的问题:我的带有 ClusterIP 的 pod 的外部 IP 地址怎么可能与我分配给它的入口静态 IP 不同? 请注意,通过 Ingress 可以轻松到达 pod。
Ingresses
和 Services
仅处理传入的 pod 流量。 Pod 传出流量 IP 取决于您使用的 Kubernetes 网络实现。默认情况下,来自 pods 的所有传出连接都在节点级别进行源 NAT 转换,这意味着 pod 将具有其运行所在的节点的 IP。因此,您可能希望在 Postgres 中允许工作节点 IP 地址。