【问题标题】:AWS EKS kubectl - No resources found in default namespaceAWS EKS kubectl - 在默认命名空间中找不到资源
【发布时间】:2019-10-10 19:16:34
【问题描述】:

尝试设置 EKS 集群。 调用DescribeCluster operation 时发生错误(AccessDeniedException):帐户 xxx 未被授权使用此服务。这个错误来自 CLI,在控制台上我能够成功地创建集群和一切。 我以root user 登录(这只是我的个人帐户)。

它说 Account 听起来好像不是用户/权限问题? 我必须启用我的帐户才能使用此服务吗?我没有看到任何这样的选项。

另外,如果以用户身份(而不是 root)登录 - 我将能够看到之前以 root 身份创建的所有内容。我现在已经创建了一个用户并分配了 admin 和 eks* 权限。 我检查了这个 当我以用户身份登录时 - 我可以看到所有内容。

aws cli 是使用 root 凭据设置的(我认为) - 所以我必须返回并撤消所有这些修复并只使用此用户。

更新 1
我重做/重新启动了一切,包括用户和 awscli 配置 - 只是为了确保。但问题仍然没有得到解决。

create the file manually 有一个选项 - 终于奏效了。

我能够:kubectl get svc

名称类型 CLUSTER-IP EXTERNAL-IP PORT(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

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

【问题讨论】:

  • 这是来自控制台、来自 CLI 还是来自代码 (SDK)?如果是 CLI 或 SDK,您如何设置 AWS 凭证? (例如,如果 CLI 你使用了aws configure?)
  • 它来自 Powershell 控制台 CLI,是的,我使用 aws configure 来设置 cli - 可能会使用我的 root 凭据(这是不久前)。但是在 AWS Mgmt 控制台上——我可以用 EKS 做任何事情。
  • 如果您的 eks 集群是由其他 root 创建并使用不同用户的 CLI(尽管具有管理员权限),您将收到此错误。使用相同的 IAM 用户从 cli 本身创建 eks 集群。
  • @ Mahattam - 问题是不同的用户还是不同的工具或两者兼而有之?为此,我必须同时使用控制台和 CLI - 按照说明。我的其他用户也具有管理员权限。错误听起来也像“帐户权限”而不是用户权限?
  • 这可能不是您所看到的,但我在尝试在不支持 EKS 的 ca-central-1 中创建 EKS 集群时遇到了这个问题。 -_-

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-13
    • 2021-01-19
    • 1970-01-01
    • 2019-04-20
    • 2019-03-16
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多