AWS EKS节点组创建无报错却被排除,无法加入集群
问题描述
尝试使用以下YAML配置在AWS EKS集群上创建新的托管节点组:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: kf region: us-east-1 vpc: id: <VPC_ID> securityGroup: <SG_ID> subnets: private: private1: id: <SUBNET1> private2: id: <SUBNET2> private3: id: <SUBNET3> managedNodeGroups: - name: managed-ng-gpu-g4dn amiFamily: AmazonLinux2 ami: ami-072885db87a9a23d7 overrideBootstrapCommand: | #!/bin/bash /etc/eks/bootstrap.sh kf instanceType: g4dn.xlarge labels: { role: workers } minSize: 0 maxSize: 4 volumeSize: 45 privateNetworking: true
执行命令 eksctl create nodegroup --config-file create_nodegroup.yaml 后,节点组未加入集群,无报错但被排除且未创建。相关日志如下:
2024-05-18 08:25:36 [ℹ] 基于控制平面版本,新节点组将使用1.25版本 2024-05-18 08:25:37 [!] 未找到"kf"集群的eksctl托管CloudFormation栈,将尝试在非eksctl托管集群上创建节点组 2024-05-18 08:25:39 [ℹ] 节点组"managed-ng-gpu-g4dn"将使用镜像ami-072885db87a9a23d7 [AmazonLinux2/1.25] 2024-05-18 08:25:40 [ℹ] 3个现有节点组(managed-ng-gpu-g4dn,managed-ng-gpu-p2-xlarge,managed-ondemand-cpu-20240503123911636500000009)将被排除 2024-05-18 08:25:40 [ℹ] 1个任务:{无任务} 2024-05-18 08:25:40 [ℹ] 无任务 2024-05-18 08:25:40 [✔] 在集群"kf"中创建了0个节点组 2024-05-18 08:25:40 [✔] 在集群"kf"中创建了0个托管节点组 2024-05-18 08:25:40 [ℹ] 检查所有节点组的安全组配置 2024-05-18 08:25:40 [ℹ] 所有节点组的CloudFormation模板均为最新版本
问题分析
日志中明确显示managed-ng-gpu-g4dn是现有节点组之一,eksctl会自动跳过创建同名节点组的操作,这是导致节点组未创建的核心原因。另外集群非eksctl托管的提示不影响创建,但需确保配置的VPC、子网、安全组信息完全匹配集群环境。
解决步骤
确认现有节点组状态
执行命令查看集群内所有节点组:eksctl get nodegroups --cluster kf也可通过AWS控制台的EKS集群页面,在「节点组」列表中查看
managed-ng-gpu-g4dn的状态。处理同名节点组
- 若该节点组已存在但状态异常,可先删除:
或通过AWS控制台删除对应节点组。eksctl delete nodegroup --cluster kf --name managed-ng-gpu-g4dn - 若需保留现有节点组,修改YAML配置中
managedNodeGroups.name字段为唯一名称,例如managed-ng-gpu-g4dn-new。
- 若该节点组已存在但状态异常,可先删除:
重新创建节点组
修改配置后,重新执行创建命令:eksctl create nodegroup --config-file create_nodegroup.yaml验证集群基础配置(非eksctl托管场景)
确认配置中的VPC ID、安全组ID、私有子网ID均为集群实际使用的资源:- VPC需与EKS集群所属VPC一致
- 安全组需允许节点与EKS控制平面通信
- 私有子网需配置正确的路由,确保节点能访问EKS控制平面及必要AWS服务
内容的提问来源于stack exchange,提问作者JHow
相关产品推荐
相关产品推荐

