[英]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.