Kee*_*ing 4 containers amazon-web-services kubernetes
我正在按照入门指南设置我的第一个 Kubernetes EKS 集群,但我无法通过验证访问的步骤kubectl get svc。而不是我得到的服务列表:
error: the server doesn't have a resource type "svc"
Run Code Online (Sandbox Code Playgroud)
我已经准备好了aws-iam-authenticator,我已经为具有 AWS 管理员权限的用户获得了正确的访问权限和密钥,我检查了我能想到的所有内容,但无法找出导致错误的原因。
确保使用kubectl与创建 EKS 集群完全相同的 IAM 用户/角色?在 Kubernetes 中,只有该IAM 用户/角色被授予system:masters特权。如果您使用其他角色,您将看到此错误,即使该其他角色在其 IAM 策略中具有管理员权限。
例如,如果您在使用跨账户 IAM 角色登录时创建了 EKS 集群,而现在您尝试将其与不同的 IAM 用户一起使用,它将无法工作。
您可以稍后向 EKS 添加更多 IAM 用户,但首先您必须使用创建集群的 IAM 角色。例如,如果您登录某个company-login帐户并将角色切换到具有角色Admin 的company-prod帐户,则必须相应地更新:kubeconfig
users:
- name: arn:aws:eks:ap-southeast-2:{company-prod-id}:cluster/{cluster-name}
user:
exec:
apiVersion: client.authentication.k8s.io/v1alpha1
command: aws-iam-authenticator
args:
- token
- -i
- cluster-name
- -r <<< Add this
- arn:aws:iam::{company-prod-id}:role/Admin <<< And this
env:
- name: AWS_PROFILE
value: company-login-profile <<< Must be your login account
Run Code Online (Sandbox Code Playgroud)
或者,您可以按照此处所述为aws-cli创建跨账户配置文件:如何在 aws-cli 中“切换角色”?在这种情况下,您将不需要in,因为它已经在.-r arn:...:role/Adminkubeconfig~/.aws/credentials
一旦角色的东西被修复,你应该能够运行kubectl get svc.
上述工作完成后,您可以向 EKS/Kubernetes 添加更多 IAM 用户和 IAM 角色。我建议您创建一个专用角色,例如,EKSAdmin并要求您的 IAM 用户承担该角色以管理集群。
希望有帮助:)
| 归档时间: |
|
| 查看次数: |
1265 次 |
| 最近记录: |