使用节点 IP 而不是 Pod IP 进行辅助 CIDR 出口

使用节点 IP 而不是 Pod IP 进行辅助 CIDR 出口

我正在使用 Amazon EKS 集群,该集群使用 AWS VPC CNI 进行联网并具有自定义网络配置。节点的主 IP 地址在范围内10.xxx/x并且该范围内有辅助 IP100.xxx/x。

我注意到 IP 地址在 100.xxx/x 范围内的 Pod 未使用节点在 10.xxx/x 范围内的 IP 地址来访问 EKS 集群外部的外部资源。我想配置集群,以便 Pod 可以使用节点的 IP 地址进行转换来进行外部通信,同时仍将其 IP 地址保持在 100.xxx/x 范围内。

我已经尝试运行以下命令:

kubectl set env daemonset -n kube-system aws-node AWS_VPC_K8S_CNI_EXTERNALSNAT=true

但是,这并没有解决问题。当我使用命令检查节点级 NAT 规则时iptables -L -t nat | grep MASQ,我只看到与节点共享同一主 CIDR 的 Pod 的规则。这表明该节点没有转换其主 CIDR 之外的 Pod 的 IP 地址。

如何配置我的 EKS 集群以实现此转换,同时将 pod 保持在 100.xxx/x 范围内?

相关内容