我尝试使用 AWS 账户访问 AWS 上的 EKS 集群(与我用于控制台的相同)
我遵循的步骤:
aws configure
使用“命令行或编程访问”中提供的信息(AWS 访问密钥 ID/AWS 秘密访问密钥)+ 在凭证文件中添加 AWS 会话令牌。
aws eks update-kubeconfig --name XXXXXXX --region eu-west-1
在 ConfigMap:aws-auth 文件中,我- system:masters
在我的角色组中添加了它,可以在这里添加吗?
mapRoles: |
- groups:
- system:bootstrappers
- system:nodes
rolearn: arn:aws:iam::XXXXXXXX:role/XXXXXXXX-group-role
username: system:node:{{EC2PrivateDNSName}}
- groups:
- eks-console-dashboard-full-access-group
- system:masters <<--- [[ is it ok to add this group here ?? ]]
rolearn: arn:aws:iam::MYACCOUNT:role/AWSReservedSSO_AdministratorAccess_XXXXXXXX
username: AWSReservedSSO_AdministratorAccess_XXXXXXXX
然后我尝试 kubectl get svc: 并且得到:
E0207 16:37:31.292453 45292 memcache.go:238] couldn't get current server API group list: Get "https://XXXXXXXXXXXXXX.sk1.eu-west-1.eks.amazonaws.com/api?timeout=32s": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
这个错误是什么意思?是权限问题吗?是网络问题吗?(安全组允许我的 IP)谢谢你的帮助
答案1
我找到了缺失的内容:我在 EKS/Clusters > 管理网络 > 集群端点中的“公共和私有” > 高级设置 > “将源添加/编辑到公共访问端点”中添加了我的公共 IP 地址,我们可以添加一个 CIDR 块,现在一切正常