继承的EKS群集,无权运行kubectl命令

问题描述 投票:0回答:1

我已经继承了eks群集,但是我不知道将哪个IAM用户设置为“主用户”(创建群集的用户始终具有system:master访问权限)。我曾使用worker角色尝试读取/修改aws-auth configmap,但是worker节点似乎也无法访问它。

sh-4.2$ kubectl get configmap -n kube-system
Error from server (Forbidden): configmaps is forbidden: User "system:node:ip-10-10-10-10.ec2.internal" cannot list resource "configmaps" in API group "" in the namespace "kube-system": No Object name found

我不知道aws-auth的内容即可从外部执行哪些步骤来再次访问此集群?

kubernetes permissions kubectl rbac eks
1个回答
0
投票

[当您首次在AWS上创建Amazon EKS集群时,创建该集群的IAM实体用户或角色是唯一有权对其进行身份验证和管理aws-auth ConfigMap的身份,系统会自动在其中授予system:masters权限您已经提到的集群创建者的集群RBAC配置[1]。

[要确定谁是集群创建者,您可以在“事件历史”上使用CloudTrail控制台,您可以按“事件名称”进行过滤,然后选择“ CreateCluster”,它将列出用于创建集群的事件,您将能够看到用于创建集群的身份(用户或角色)。

为了能够进行身份验证,首先您需要安装aws-iam-authenticator [2],然后在您的AWS-CLI上采用集群创建者身份,默认情况下,用于Kubernetes的AWS IAM Authenticator将使用相同的凭证使用以下命令返回:

aws sts get-caller-identity最后,您需要使用以下命令创建kubeconfig文件,以便能够“ kubectl获取节点” [3]:

aws eks --region区域代码update-kubeconfig --name cluster_name您可以在“管理集群身份验证”文档[4]中找到有关AWS EKS上身份验证过程的更多信息。

如果需要授予除群集创建者以外的新用户访问权限,则必须通过以aws-auth ConfigMap [5]上已经授权的身份登录的ConfigMap来添加角色/用户。

[[1]https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html[2]https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html[3]https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html[4]https://docs.aws.amazon.com/eks/latest/userguide/managing-auth.html[5] https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html

© www.soinside.com 2019 - 2024. All rights reserved.