ben*_*ouf 23 amazon-web-services amazon-iam kubernetes amazon-eks eksctl
不知道这是 AWS 的错误还是其他错误。我创建了一个 IAM 用户并为其提供了完整的管理策略。然后,我使用该用户通过 CLI 创建 EKS 集群,但是当我使用root 用户eksctl
登录 AWS 控制台时,在尝试访问集群节点时出现以下错误。
您当前的用户或角色无权访问此 EKS 集群上的 Kubernetes 对象\n这可能是由于当前用户或角色没有描述集群资源的 Kubernetes RBAC 权限,或者在集群中没有条目\xe2\x80\x99s身份验证配置映射。
\n我有这些问题
\nAWS本身不建议为root用户创建访问密钥并将其用于可编程访问,所以我现在很困惑。有人帮忙
\n到目前为止我看到的所有问题以及此处文档的链接都在讨论在 AWS IAM 中创建的用户或角色,而不是根用户。
\nEnv*_*nve 43
如果您使用 root 用户登录并收到此错误,请运行以下命令来编辑 configMap aws-auth
:
kubectl edit configmap aws-auth -n kube-system
Run Code Online (Sandbox Code Playgroud)
然后向下mapUsers
添加以下内容(替换[account_id]
为您的帐户 ID)
mapUsers: |
- userarn: arn:aws:iam::[account_id]:root
groups:
- system:masters
Run Code Online (Sandbox Code Playgroud)
小智 9
据我了解,EKS 通过驻留aws-auth
在kube-system
命名空间中的 ConfigMap 来管理用户和角色权限。因此,尽管使用对所有服务具有完全管理员访问权限的 AWS 用户登录,EKS 仍会限制您在控制台中的访问,因为它无法在其身份验证配置中找到用户或角色。
当我遇到这个问题时,我通过在 mapRoles 下添加以下内容来编辑 aws-auth configmap 来解决它:
- "groups":
- "system:masters"
"rolearn": "arn:aws:iam::<aws-account-id>:role/<aws-role-name>"
"username": "<aws-username>"
Run Code Online (Sandbox Code Playgroud)
aws-role-name
登录 aws 控制台时右上角显示的角色名称在哪里。
我想这也可以使用eksctl
此处记录的 -utility 来完成:https ://eksctl.io/usage/iam-identity-mappings/
所以,也许是这样的:
eksctl create iamidentitymapping --cluster <clusterName> --region=<region> --arn arn:aws:iam::<aws-account-id>:role/<aws-role-name> --group system:masters --username <aws-username>
使用eksctl
可能是更好的方法,尽管我自己还没有尝试过。
我今天遇到了这个问题,并通过合并此处的答案解决了它。工作后的 aws-auth 配置如下所示:
apiVersion: v1
data:
mapRoles: |
- groups:
- system:bootstrappers
- system:nodes
rolearn: arn:aws:iam::671177010163:role/eksctl-manu-eks-new2-nodegroup-ng-NodeInstanceRole-1NYUHVMYFP2TK
username: system:node:{{EC2PrivateDNSName}}
mapUsers: "- groups: \n - system:masters\n userarn: arn:aws:iam::671177010163:root\n"
kind: ConfigMap
metadata:
creationTimestamp: "2022-02-13T11:03:30Z"
name: aws-auth
namespace: kube-system
resourceVersion: "11362"
uid: ac36a1d9-76bc-40dc-95f0-b1e7934357
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36202 次 |
最近记录: |