访问EKS集群时,出现了“kubectl error You must be logged in to the server (Unauthorized)”错误,怎么办?

0

【以下的问题经过翻译处理】 我正在进行AWS EKS和CodePipeline主题的实践实验。请参见下面的链接:

https://000062.awsstudygroup.com/

我在第4.6步创建使用CloudFormation模板的Pipeline时卡住了。由于我在照片中附加的错误,代码构建失败。照片请看https://repost.aws/media/postImages/original/IMUVEk9yMGQce0HKBkMeCbAw

请帮我检查一下!

1 Antwort
0

【以下的回答经过翻译处理】 你遇到的“error: You must be logged in to the server (Unauthorized) ”是由于CodeBuild中的kubectl没有正确配置Amazon EKS,或者您使用的IAM用户或角色凭据不映射到具有足够权限的Kubernetes RBAC用户Amazon EKS集群中。

要检查的事项:

  1. CodeBuild服务的服务角色:eks-CodeBuildServiceRole应具有以下权限。它可以完全访问EKS。
    {
      "Sid": "EKSAccessPolicy",
      "Effect": "Allow",
      "Action": [
        "eks:*"
      ],
      "Resource": "*"
    }

  1. CodeBuild服务的服务角色到Kubernetes RBAC用户的映射。从您连接到EKS集群的Cloud9终端,使用以下命令验证configMap aws-auth是否具有IAM角色的正确条目:eks-CodeBuildServiceRole :
kubectl edit configmaps aws-auth -n kube-system

eks-CodeBuildServiceRole应映射到masters。请确保您的AWS_ACCOUNT_ID在下面的片段中被替换:

- groups:
  - system:masters
  rolearn: arn:aws:iam::{$AWS_ACCOUNT_ID}}:role/eks-CodeBuildServiceRole
  username: codebuild-eks

我已经成功重现了指南中的步骤。请查看CodeBuild结果。https://repost.aws/media/postImages/original/IMUVEk9yMGQce0HKBkMeCbAw

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen