试图建立一个EKS集群。
在调用
时发生了一个错误(AccessDeniedException)。
帐户xxx未被授权
使用此服务。这个错误是在CLI上出现的,在控制台我能够成功地建立集群和所有的东西。
我是
DescribeCluster operation
的身份登录的(这只是我的个人账户)。
root user
它说的是 账户 ,所以听起来它不是一个用户/权限问题? 我必须为这项服务启用我的账户吗?我没有看到任何这样的选项。
另外,如果以用户(而不是根用户)身份登录--我是否能够看到早先以根用户身份创建的一切。我现在已经创建了一个用户,并分配了管理员和eks*的权限。 当我以用户身份登录时 ,我 检查了这一点 - 我可以看到一切。
aws cli是用root凭证设置的 (我想 )--那么我是否需要回去撤销修复这一切,只使用这个用户。
我重做/重启了一切,包括用户和awscli配置--只是为了确保。但问题仍然没有得到解决。
有一个选项可以 手动创建文件 --这终于成功了。
而我能够:
kubectl get svc
名称 类型 Cluster-ip 外部 IP 端口(s) 年龄 kubernetes ClusterIP 10.100.0.1 443/TCP 48m
KUBECONFIG: 我已经设置了 env:KUBECONFIG
$env:KUBECONFIG="C:\Users\sbaha\.kube\config-EKS-nginixClstr"
$Env:KUBECONFIG
C:\Users\sbaha\.kube\config-EKS-nginixClstr
kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* aws kubernetes aws
kubectl config current-context
我的理解是,我应该同时看到aws
和我的EKS-nginixClstr
上下文,但我只看到aws
--这(也)是一个问题吗?
下一步是创建和添加工作节点。我在.yaml文件中正确地更新了节点arn:kubectl apply -f ~\.kube\aws-auth-cm.yaml
configmap/aws-auth configured
,所以这也许是成功的。
但接下来它就失败了。
kubectl get nodes
在默认命名空间中没有找到资源。
在AWS控制台NodeGrp显示--创建完成。同样在CLI上kubectl 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