amazon-web-services - 未能创建服务相关角色:AWSServiceRoleForAmazonEKSNodegroup 由于缺少 'iam:CreateServiceLinkedRole 的权限
问题描述
我在 AWS 中创建了 EKS 集群,我想为相应创建的集群创建节点组(工作节点),但出现错误“无法创建服务链接角色:AWSServiceRoleForAmazonEKSNodegroup 由于缺少 'iam:CreateServiceLinkedRole 的权限”。请帮忙。
我正在遵循 AWS 文档中的说明(https://docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html)
解决方案
您可以参考eksctl
文档页面:https ://eksctl.io/usage/minimum-iam-policies/
该页面显示了需要分配给 AWS 用户以便在 AWS 中管理 kubernetes 集群的所有策略,但在继续之前阅读我的完整答案。
重要的
创建EksAllAccess
并IamLimitedAccess
记住替换<account_id>
为您的 AWS 账户 ID。
AWS 中已命名AmazonEC2FullAccess
且AWSCloudFormationFullAccess
已存在的策略。不要使用内置策略。创建您自己的(您可以使用相同的名称)。
该AmazonEC2FullAccess
策略与内置版本略有不同。而且,上述页面上的版本仍然缺少一个条目:"eks-nodegroup.amazonaws.com",
.
策略定义的最后一部分AmazonEC2FullAccess
应该是这样的:
{
"Effect": "Allow",
"Action": "iam:CreateServiceLinkedRole",
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:AWSServiceName": [
"autoscaling.amazonaws.com",
"ec2scheduled.amazonaws.com",
"elasticloadbalancing.amazonaws.com",
"eks.amazonaws.com",
"eks-fargate-pods.amazonaws.com",
"eks-nodegroup.amazonaws.com",
"spot.amazonaws.com",
"spotfleet.amazonaws.com",
"transitgateway.amazonaws.com"
]
}
}
}
您可以参考 AWS 文档了解更多详细信息:https ://docs.aws.amazon.com/eks/latest/userguide/using-service-linked-roles-eks-nodegroups.html
推荐阅读
- java - 弹性搜索在 Spring Boot 中使用列表参数进行查询
- javascript - 上传文件并显示其内容
- c - 在我使用 free() 函数和 Null 指针之后......程序仍然崩溃
- flutter - 即使在使用 Firebase.Initialize 方法之后,我得到的错误是 No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()
- r - 将 ifelse 应用于多个列并创建新列
- javascript - Javascript对象方法在调用时不起作用
- linux - 根据标题拆分fasta文件
- javascript - node_modules/ng2-bs3-modal/components/modal-header.d.ts.ModalHeaderComponent.html(3,107) 中的错误:属性“modal”是私有的,只能访问
- excel - VBA 在 TOR 中打开链接(每个都在新选项卡中)
- reactjs - 错误尝试导入错误:“NotificationsNoneIcon”未从“@material-ui/icons”导出