这似乎是AWS授权问题。创建群集时,只有created the cluster has admin rights on it的IAM用户,因此您可能需要首先添加自己的IAM用户。
1-首先,验证所有命令中隐式使用的IAM用户身份:aws sts get-caller-identity
如果was-cli设置正确,您将获得类似以下的输出:
{
"UserId": "ABCDEFGHIJK","Account": "12344455555","Arn": "arn:aws:iam::1234577777:user/Toto"
}
我们将在第3步中将Account
中的值称为YOUR_AWS_ACCOUNT_ID
(在此示例中为YOUR_AWS_ACCOUNT_ID="12344455555"
2-获得此身份后,您必须将其添加到AWS role binding to get EKS permissions。
3-您将需要编辑kubectl使用的ConfigMap文件来添加用户kubectl edit -n kube-system configmap/aws-auth
在打开的编辑器中,使用集群YOUR_USER_NAME
创建一个您要用来引用自己的用户名(为简单起见,您可以使用与aws用户名相同的名称,例如步骤2中的Toto
),您将在第4步中使用它,并使用aws帐户ID(请不要忘记保留引号“”),您在第1步YOUR_AWS_ACCOUNT_ID
的身份信息中找到了它,如下{{1}部分}和mapUsers
。
mapAccounts
4-最后,您需要在kubernetes集群上为ConfigMap中指定的用户创建角色绑定
mapUsers: |
- userarn: arn:aws:iam::111122223333:user/ops-user
username: YOUR_USER_NAME
groups:
- system:masters
mapAccounts: |
- "YOUR_AWS_ACCOUNT_ID"
,
使用 kops vs1.19 您需要添加 --admin
或 --user
来更新您的 kubernetes 集群,并且每次您退出服务器时您都必须导出集群名称和存储桶,然后再次更新集群。这会奏效。
本文链接:https://www.f2er.com/2683839.html