[AWS] 使用 kubectl 連線 EKS

[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

 

(本頁面已被瀏覽過 12 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料