[AWS] 使用 kubectl 連線 EKS
今天想要用 kubectl 來操作 AWS EKS (Elastic Kubernetes Service),
來看一下怎麼做吧~
1. 設定 AWS 帳號密碼
基本上我用公司帳號透過 AAD 登入 AWS,沒有 AWS 的直接帳號密碼,
因此就是先去取得 AWS STS token 的值,貼在終端機 (terminal) 上面~
2. 列出目前的 EKS 叢集 (cluster)
執行下面指令,來列出所有的 EKS 叢集:
$ aws eks list-clusters { "clusters": [ "test-eks-eu" ] }
記得叢集的名稱,待會要用~
3. 將 EKS 資訊整合進 Kube Config
執行下面指令,將 EKS 的資訊整合到 ~/.kube/config,
記得要帶剛剛拿到叢集名稱:
aws eks update-kubeconfig --name test-eks-eu
這樣子就會新增一個 kube context 了:
$ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * arn:aws:eks:.../test-eks-eu arn:aws:eks:.../test-eks-eu arn:aws:eks:.../test-eks-eu docker-desktop docker-desktop docker-desktop
這個新增的 context 名稱是完整的 ARN,可以把名稱改短一點,
方便之後切換 context 時使用,像是:
kubectl config rename-context arn:aws:eks:.../test-eks-eu test-eks-eu
4. 使用 kubectl 操作 EKS 叢集
先切換到指定的 kube context:
kubectl config use-context test-eks-eu
接著就可以使用任意的 kubectl 指令來查看 K8s cluster 的資訊了:
$ kubectl get nodes NAME STATUS ROLES AGE VERSION ip-10-1-2-3.eu-central-1.compute.internal Ready <none> 48d v1.28.5-eks-5e0fdde ip-10-1-2-3.eu-central-1.compute.internal Ready <none> 41h v1.28.5-eks-5e0fdde ip-10-1-2-3.eu-central-1.compute.internal Ready <none> 21d v1.28.5-eks-5e0fdde
(本頁面已被瀏覽過 35 次)