正在尝试设置 EKS 集群。 调用DescribeCluster operation
时出错(访问被拒绝异常(:帐户 xxx 无权使用此服务。此错误来自 CLI,在控制台上,我能够成功构建集群和所有内容。 我以root user
身份登录(这只是我的个人帐户(。
它说帐户听起来不像是用户/权限问题? 我是否必须为我的帐户启用此服务?我没有看到任何这样的选择。
此外,如果以用户(而不是root(身份登录 - 我将能够看到之前以root身份创建的所有内容。我现在已经创建了一个用户并分配了管理员和 eks* 权限。当我以用户身份登录时,我检查了这一点- 我可以看到所有内容。
aws cli 是使用根凭据设置的(我认为( - 所以我必须返回并撤消修复所有这些并仅使用此用户。
更新 1
我重做/重新启动了所有内容,包括用户和 awscli 配置 - 只是为了确保。但问题仍然没有得到解决。
有一个手动创建文件的选项 - 最终起作用了。
我能够:kubectl get svc
名称类型 群集 IP 外部 IP 端口年龄 kubernetes ClusterIP 10.100.0.1 443/TCP 48m
KUBECONFIG:I had set the env:KUBECONFIG
$env:KUBECONFIG="C:Userssbaha.kubeconfig-EKS-nginixClstr"
$Env:KUBECONFIG
C:Userssbaha.kubeconfig-EKS-nginixClstr
kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* aws kubernetes aws
kubectl config current-context
aws
我的理解是我应该同时看到aws
和我的EKS-nginixClstr
上下文,但我只看到aws
- 这(也(是一个问题吗?
下一步是创建和添加工作器节点。我在 .yaml 文件中正确更新了节点 arn:kubectl apply -f ~.kubeaws-auth-cm.yaml
configmap/aws-auth configured
所以这可能奏效了。
但接下来它失败了:
kubectl get nodes
在默认命名空间中找不到资源。
在 AWS 控制台上,NodeGrp 显示 -创建完成。同样在 CLIkubectl get nodes --watch
-它甚至不返回。
所以接下来必须调试这个- (它永远不会结束(
aws-auth-cm.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: arn:aws:iam::arn:aws:iam::xxxxx:role/Nginix-NodeGrpClstr-NodeInstanceRole-1SK61JHT0JE4
username: system:node:{{EC2PrivateDNSName}}
groups:
- system:bootstrappers
- system:nodes
这个问题与没有正确的 eksctl 版本有关 - 它必须至少为 0.7.0。文档说明了这一点,我知道这一点,但最初我所做的一切都无法超过 0.6.0。您获得它的方法是将 AWS CLI 配置为支持 EKS 的区域。获得 0.7.0 后,此问题将得到解决。
总体而言,要使 EKS 正常工作 - 您必须在控制台和 CLI 上具有相同的用户,并且必须在支持 EKS 的区域上工作,并且具有正确的 eksctl 版本 0.7.0。