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

使用eksctl创建仅公有节点EKS集群时节点创建后立即终止求助

问题分析与解决办法

常见原因及修复方案

1. 公有子网路由表缺少互联网访问路由

公有子网必须关联包含指向Internet Gateway(IGW)的路由表,否则节点实例无法访问EKS控制平面、ECR、S3等必要服务,初始化失败后会被自动终止。

  • 修复:检查每个指定公有子网的关联路由表,确认存在目标为0.0.0.0/0、下一跳为你的IGW ID的路由规则。

2. 节点IAM角色缺少核心权限

你的配置仅启用了附加策略,但节点组的基础IAM角色可能缺失EKS节点必需的核心权限,导致无法完成节点注册、镜像拉取等操作。

  • 修复:
    1. 找到eksctl自动创建的节点实例角色(命名格式通常为eksctl-eks-test-nodegroup-eks-test-workers-NodeInstanceRole-xxxx)
    2. 确保该角色附加了AmazonEKSWorkerNodePolicy、AmazonEC2ContainerRegistryReadOnly、AmazonEKS_CNI_Policy这三个核心托管策略
    3. 也可以直接在配置文件的iam字段中添加eksworker: true,让eksctl自动注入核心权限:
      iam:
        withAddonPolicies:
          externalDNS: true
          certManager: true
          albIngress: true
        eksworker: true
      

3. 安全组/网络ACL限制了节点与控制平面的通信

EKS节点需要与控制平面建立双向TCP 443端口通信,若安全组或网络ACL阻断该流量,节点无法完成注册流程。

  • 修复:
    • 检查节点组使用的安全组(eksctl自动创建,命名类似eksctl-eks-test-cluster/NodeSecurityGroup-xxxx),确保允许出站443流量到任意地址,同时允许来自集群控制平面安全组(命名类似eksctl-eks-test-cluster/ClusterSecurityGroup-xxxx)的入站流量
    • 检查子网的网络ACL,确保允许TCP 443端口的双向流量(SSH 22端口可按需开放)

4. 节点无权限访问EKS引导脚本存储桶

节点启动时需要从AWS S3获取EKS引导脚本,若节点IAM角色无S3访问权限或网络无法连通S3,会导致初始化失败。

  • 修复:确保节点IAM角色拥有AmazonS3ReadOnlyAccess权限(或更精细的、针对EKS相关S3资源的访问权限),同时确认公有子网的路由配置能正常访问S3。

5. 指定的EC2密钥对不存在

配置中指定的ec2_key密钥对若未在us-east-2区域创建,可能影响节点初始化流程(虽不直接触发终止,但可能导致启动异常)。

  • 修复:在us-east-2区域创建名为ec2_key的EC2密钥对,或修改配置文件中的密钥对名称。

日志排查方式

若上述方案未解决问题,可通过以下方式获取精准错误信息:

  • 查看EC2实例系统日志:在EC2控制台找到被终止的实例,查看「系统日志」标签,里面会记录节点启动时的具体错误(如权限不足、网络连接失败等)
  • 执行kubectl get events -A(若能正常连接集群)或eksctl get cluster eks-test,查看集群相关事件记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:47:14