Amazon EKS 使用 IAM 为Kubernetes 集群提供身份验证(通过 AWS CLI 的 1.16.156 版或更高版本中可用的 aws eks get-token
命令或者适用于 Kubernetes 的 AWS IAM 身份验证器),但它仍依赖于 Kubernetes 基于角色的访问控制 (RBAC) 来进行授权。
一、将 aws-auth ConfigMap 应用到集群
-
检查您是否已经应用了
aws-auth
ConfigMap。kubectl describe configmap -n kube-system aws-auth
如果您收到错误指示“
Error from server (NotFound): configmaps "aws-auth" not found
”,则继续以下步骤以应用库存 ConfigMap。 -
下载、编辑和应用 AWS 身份验证器配置映射。
-
下载配置映射。
curl -o aws-auth-cm.yaml https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/aws-auth-cm.yaml
-
使用您常用的文本编辑器打开文件。将
<ARN of instance role (not instance profile)>
替换为与节点关联的 IAM 角色的 Amazon Resource Name (ARN),然后保存相应文件。请勿修改此文件中的任何其他行。重要
角色 ARN 不能包含路径。角色 ARN 的格式必须为
arn:aws:iam::<123456789012>:role/<role-name>
。有关更多信息,请参阅aws-auth ConfigMap 不授予对集群的访问权限。apiV
-