已配置AWS管理员权限仍无法创建EKS节点组问题求助
问题描述
使用eksctl工具创建EKS集群后,执行命令 eksctl get nodegroup --cluster MyCluster-name. 尝试列出节点组时,EKS控制台出现错误。已通过 aws configure 配置AWS凭证,即使添加AdministratorAccess权限后问题仍存在。
已配置的IAM权限
- AmazonEC2FullAccess
- IAMFullAccess
- AmazonEKSClusterPolicy
- AmazonVPCFullAccess
- AmazonEKSServicePolicy
- 自定义策略
eks_use_eks_cfn:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*" ], "Resource": "*" } ] }
- 自定义策略
eks_user_eks_policy:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:*" ], "Resource": "*" } ] }
集群创建YAML配置
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: two-node-group region: us-east-1 nodeGroups: - name: ng--1 #My-Nodegroup_1 instanceType: t2.micro desiredCapacity: 1 ssh: publickey: key2 - name: ng--2 #My_nodegroup_2 maxSize: 2 minsize: 1 instancesDistribution: instanceTypes: [ "t2.micro", "t2.micro" ] maxPrice: 0.1 onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 50 ssh: publickey: key2
问题排查与修复建议
- 修正命令参数
执行的命令中集群名称与实际创建的集群名不符,且末尾多了一个无效的点。正确命令应为:
eksctl get nodegroup --cluster two-node-group
- 修复YAML语法错误
原配置存在几处语法和字段错误,会导致节点组创建失败:
- 第二个节点组的
minsize字段应为minSize(eksctl配置字段区分大小写); instancesDistribution下的instanceTypes缩进错误,需缩进一层与同级字段对齐;instanceTypes重复配置了相同实例类型,可简化为单元素数组。
修正后的YAML:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: two-node-group region: us-east-1 nodeGroups: - name: ng--1 #My-Nodegroup_1 instanceType: t2.micro desiredCapacity: 1 ssh: publickey: key2 - name: ng--2 #My_nodegroup_2 maxSize: 2 minSize: 1 instancesDistribution: instanceTypes: [ "t2.micro" ] maxPrice: 0.1 onDemandBaseCapacity: 0 onDemandPercentageAboveBaseCapacity: 50 ssh: publickey: key2
- 验证资源状态
- 检查集群是否正常运行:
aws eks describe-cluster --name two-node-group --query "cluster.status"
- 检查节点组对应的CloudFormation栈状态(eksctl通过CloudFormation管理节点组):
aws cloudformation describe-stacks --stack-name eksctl-two-node-group-nodegroup-ng--1 aws cloudformation describe-stacks --stack-name eksctl-two-node-group-nodegroup-ng--2
如果栈状态为ROLLBACK_COMPLETE或CREATE_FAILED,需根据栈的失败原因修复后,重新创建节点组。
内容的提问来源于stack exchange,提问作者Deepa
相关产品推荐
相关产品推荐

