AWS EKS kubectl-在默认名称空间中找不到资源

时间:2019-10-10 19:16:34

标签: amazon-web-services kubernetes amazon-iam kubectl amazon-eks

尝试设置EKS集群。 调用DescribeCluster operation时发生错误(AccessDeniedException):未授权帐户xxx 以使用此服务。此错误来自CLI,在控制台上,我能够成功创建群集以及所有内容。 我以root user(仅是我的个人帐户)身份登录。

它说帐户,所以听起来像不是用户/权限问题? 我必须启用我的帐户才能使用此服务吗?我看不到任何此类选择。

如果以用户身份(而不是root用户)登录,我还能看到以前以root用户身份创建的所有内容。现在,我已经创建了一个用户,并为其分配了admin和eks *权限。 我已经选中了 以用户身份登录时-我可以看到所有内容。

aws cli是使用根凭据(我认为)设置的-因此,我必须返回并撤消修复所有这些问题,而仅使用该用户。

更新1
我重做/重新启动了所有内容,包括user和awscli configure-只是为了确保。但是问题仍然没有得到解决。

create the file manually有一个选项-最终可以使用。

我能够:kubectl get svc

名称类型集群IP外部IP端口的年龄 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

我的理解是我应该同时看到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
        - system:nodes

1 个答案:

答案 0 :(得分:0)

此问题与没有正确的eksctl版本有关-它必须至少为0.7.0。文档说明了这一点,我知道这一点,但是最初我所做的一切都不能超过0.6.0。获取方法是将AWS CLI配置为支持EKS的区域。一旦获得0.7.0,此问题便得到解决。
要使EKS正常运行,总的来说-您必须在控制台和CLI上拥有相同的用户,并且必须在支持EKS且具有正确的eksctl版本0.7.0的区域中工作。

相关问题