簡體   English   中英

AWS EKS kubectl - 在默認命名空間中找不到資源

[英]AWS EKS kubectl - No resources found in default namespace

嘗試設置 EKS 集群。 調用DescribeCluster operation時發生錯誤(AccessDeniedException):帳戶 xxx 無權使用此服務。 這個錯誤來自 CLI,在控制台上我能夠成功地創建集群和一切。 我以root user身份登錄(它只是我的個人帳戶)。

它說帳戶聽起來像是不是用戶/權限問題? 我必須啟用我的帳戶才能使用此服務嗎? 我沒有看到任何這樣的選擇。

此外,如果以用戶身份(而不是 root)登錄 - 我將能夠看到之前以 root 身份創建的所有內容。 我現在已經創建了一個用戶並分配了 admin 和 eks* 權限。 當我以用戶身份登錄時,我檢查了這一點- 我可以看到所有內容。

aws cli 是使用 root 憑據設置的(我認為) - 所以我必須返回 go 並撤消所有這些修復並僅使用此用戶。

更新 1
我重做/重新啟動了一切,包括用戶和 awscli 配置 - 只是為了確保。 但問題仍然沒有得到解決。

有一個手動創建文件的選項 - 終於奏效了。

我能夠: 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 顯示 - Create Completed 同樣在 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

此問題與沒有正確版本的 eksctl 有關 - 它必須至少為 0.7.0。 文檔說明了這一點,我知道這一點,但最初我所做的一切都不能超過 0.6.0。 您獲得它的方式是將您的 AWS CLI 配置到支持 EKS 的區域。 一旦你得到 0.7.0,這個問題就會得到解決。
總體而言,要使 EKS 工作 - 您必須在控制台和 CLI 上擁有相同的用戶,並且您必須在支持 EKS 的區域上工作,並且擁有正確的 eksctl 版本 0.7.0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM