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

配置EKS工作节点子网NAT网关后节点NotReady,求正确部署方法

正确配置EKS工作节点NAT网关的方法

问题根源

你遇到的节点变NotReady的核心原因是:EKS工作节点需要和控制平面双向通信,但你把节点子网的默认路由改成NAT网关后,控制平面无法主动访问节点(NAT网关只支持出站流量转发,不处理入站请求),导致kubelet和API服务器的心跳中断,最终节点进入NotReady状态,kubectl exec的认证错误也是通信中断引发的连锁问题。

正确配置步骤

1. 理清核心网络逻辑

EKS节点子网必须同时满足两个需求:

  • 出站流量走NAT网关(用于拉取容器镜像、访问公网服务等场景)
  • 维持和EKS控制平面的内网连通(控制平面要能主动连接节点的kubelet端口,节点也要能访问控制平面的API端点)

2. 准备NAT网关

  • 选择一个绑定弹性公网IP的公有子网创建NAT网关,确保其状态为Available
  • 常规场景下不要将NAT网关部署在节点所在的私有子网中

3. 调整节点子网的路由表

不要直接替换原有路由,而是在现有路由表基础上添加规则:

  • 保留原有指向EKS控制平面CIDR的路由条目(通常目标为控制平面的私有IP段,下一跳为VPC内网路由)
  • 新增一条0.0.0.0/0的路由,下一跳指向刚创建的NAT网关(负责所有出站公网流量)
  • 确保路由表中没有任何会阻断控制平面与节点通信的规则

4. 验证连通性

通过SSH登录到工作节点,执行以下命令确认:

# 测试与EKS控制平面的连通性(替换为你的集群API端点)
curl -v https://xxxxxx.eks.amazonaws.com
# 测试公网访问(确认NAT网关生效)
curl -v https://github.com

5. 检查安全组配置

节点安全组必须允许:

  • 入站:来自EKS控制平面的TCP 443(API通信)、TCP 10250(kubelet通信)端口
  • 出站:所有TCP/UDP流量(确保能通过NAT网关访问公网)

关键注意事项

绝对不能把节点子网的默认路由完全替换成NAT网关,必须保留控制平面的内网路由条目——这是你之前出错的核心原因。只要维持住控制平面和节点的双向内网连通,再叠加NAT网关的出站路由,节点就能保持Ready状态,同时正常访问公网。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:39:46