You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EKS能否实现VPC流量路由至Service ClusterIP

问题结论

EKS不存在完全阻断VPC到ClusterIP流量的底层硬限制,你在EKS上无法复现AKS操作的核心原因是两者默认网络配置存在差异,不是kube-proxy的iptables转发逻辑不生效。

核心配置差异点

  • EKS 1.9版本VPC CNI配合k8s 1.21版本默认开启严格的反向路径校验(rp_filter=1),VPC路由表转发到节点的、目标为ClusterIP段的流量,因为源IP不属于节点本地直连网段,会被内核直接丢弃,无法进入kube-proxy维护的iptables转发链。
  • EKS默认的kube-proxy生成的iptables规则,没有对跨节点转发到ClusterIP段的流量加放行策略,默认仅处理节点本地进程、节点本地Pod发出的ClusterIP访问请求。
开发环境适配方案

你可以通过调整节点配置实现和AKS一致的访问效果,全程不需要创建负载均衡器、也不需要手动配置端口转发:

  • 调整所有集群节点的内核参数,关闭严格反向路径校验:
# 临时生效配置
sysctl -w net.ipv4.conf.all.rp_filter=2
sysctl -w net.ipv4.conf.eth0.rp_filter=2

# 持久化配置,节点重启后不失效
cat >> /etc/sysctl.conf << EOF
net.ipv4.conf.all.rp_filter=2
net.ipv4.conf.eth0.rp_filter=2
EOF
sysctl -p
  • 在所有节点添加固定iptables规则,放行转发到ClusterIP段的流量,并将流量导入kube-proxy的服务转发链,你可以通过DaemonSet在所有节点常驻执行该规则同步,避免节点重启、kube-proxy刷新规则后配置丢失:
# 请替换为你集群实际的Service ClusterIP网段
SERVICE_CIDR="172.20.0.0/16"
iptables -t filter -I FORWARD -d $SERVICE_CIDR -j ACCEPT
iptables -t nat -I PREROUTING -d $SERVICE_CIDR -j KUBE-SERVICES
  • 完成上述配置后,在VPC路由表中添加ClusterIP段的路由条目,下一跳指向任意运行kube-proxy的EC2节点即可,VPC内的所有资源就可以直接访问Service ClusterIP。

注意:该配置仅适用于开发环境,生产环境使用会绕过EKS默认的网络安全校验逻辑,存在不可预期的流量转发风险。

内容的提问来源于stack exchange,提问作者Adrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 17:42:23