連接外部 Kubernetes 叢集到 Amazon EKS管理主控台 - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

連接外部 Kubernetes 叢集到 Amazon EKS管理主控台

您可以連接外部 Kubernetes 叢集到 AmazonEKS,方法是在下列程序中使用多種方法。此程序包含兩個步驟:向 Amazon 註冊叢集,EKS並在叢集中安裝eks-connector代理程式。

重要

您必須在完成第一個步驟後的 3 天內完成第二個步驟,以免註冊過期。

考量事項

您可以在安裝代理程式時使用YAML資訊清單。或者,如果您向 AWS Management Console 或 註冊叢集,則可以使用 Helm AWS Command Line Interface。不過,如果您向 註冊叢集,則無法使用 Helm 安裝代理程式eksctl

必要條件

  • 確保已建立 Amazon EKS Connector 代理程式角色。請遵循 建立 Amazon 連EKS接器代理程式角色 中的步驟。

  • 您必須擁有以下許可才能註冊叢集:

    • eks:RegisterCluster

    • ssm:CreateActivation

    • ssm:DeleteActivation

    • iam:PassRole

步驟 1:註冊叢集

AWS CLI
必要條件
  • AWS CLI 必須安裝 。若要安裝或升級,請參閱安裝 AWS CLI

若要向 註冊叢集 AWS CLI
  • 針對 Connector 組態,指定您的 Amazon EKS Connector 代理程式IAM角色。如需詳細資訊,請參閱Amazon EKS 連接器所需的IAM角色

    aws eks register-cluster \ --name my-first-registered-cluster \ --connector-config roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider="OTHER" \ --region aws-region

    範例輸出如下。

    { "cluster": { "name": "my-first-registered-cluster", "arn": "arn:aws:eks:region:111122223333:cluster/my-first-registered-cluster", "createdAt": 1627669203.531, "ConnectorConfig": { "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx", "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx", "activationExpiry": 1627672543.0, "provider": "OTHER", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" }, "status": "CREATING" } }

    您會在接下來的步驟中使用 aws-regionactivationIdactivationCode 值。

AWS Management Console
若要註冊您的 Kubernetes 叢集與主控台。
  1. 開啟位於 https://console.aws.amazon.com/eks/home#/clusters 的 Amazon EKS主控台。

  2. 選擇 Add cluster (新增叢集),然後選取 Register (註冊) 以顯示組態頁面。

  3. Configure cluster (設定叢集) 區段上,填寫下列欄位:

    • Name (名稱) – 叢集的唯一名稱。

    • 提供者 – 選擇顯示 的下拉式清單 Kubernetes 叢集供應商。若沒有相符的特定供應商,請選取其他

    • EKS 連接器角色 – 選取要用於連接叢集的角色。

  4. 選取 Register cluster (註冊叢集)。

  5. 系統隨即會顯示叢集概觀頁面。如果您想使用 Helm Chart,請複製 helm install 命令並繼續下一個步驟。如果您想要使用YAML資訊清單,請選擇下載YAML檔案,將資訊清單檔案下載至本機磁碟機。

    重要
    • 這是您複製 helm install 命令或下載此檔案的唯一機會。請勿離開此頁面,以免連結無法存取;若已離開此頁,則必須取消註冊叢集並從頭開始執行步驟。

    • 僅能針對已註冊叢集使用命令或清單檔案檔案一次。如果您從 中刪除資源 Kubernetes 叢集,您必須重新註冊叢集並取得新的資訊清單檔案。

    繼續下一個步驟,將資訊清單檔案套用至您的 Kubernetes 叢集。

eksctl
必要條件
eksctl 註冊叢集
  1. 透過提供名稱、供應商和區域來註冊叢集。

    eksctl register cluster --name my-cluster --provider my-provider --region region-code

    輸出範例:

    2021-08-19 13:47:26 [ℹ] creating IAM role "eksctl-20210819194112186040" 2021-08-19 13:47:26 [ℹ] registered cluster "<name>" successfully 2021-08-19 13:47:26 [ℹ] wrote file eks-connector.yaml to <current directory> 2021-08-19 13:47:26 [ℹ] wrote file eks-connector-clusterrole.yaml to <current directory> 2021-08-19 13:47:26 [ℹ] wrote file eks-connector-console-dashboard-full-access-group.yaml to <current directory> 2021-08-19 13:47:26 [!] note: "eks-connector-clusterrole.yaml" and "eks-connector-console-dashboard-full-access-group.yaml" give full EKS Console access to IAM identity "<aws-arn>", edit if required; read https://eksctl.io/usage/eks-connector for more info 2021-08-19 13:47:26 [ℹ] run `kubectl apply -f eks-connector.yaml,eks-connector-clusterrole.yaml,eks-connector-console-dashboard-full-access-group.yaml` before expiry> to connect the cluster

    這會在您的本機電腦上建立檔案。這些檔案必須在 3 天內套用至外部叢集,否則註冊將會過期。

  2. 在可存取叢集的終端機中,套用 eks-connector-binding.yaml 檔案:

    kubectl apply -f eks-connector-binding.yaml

步驟 2:安裝 eks-connector 代理程式

Helm chart
注意

如果您已向 註冊叢集eksctl,請使用YAML資訊清單方法,而非 Helm Chart 方法。

  1. 如果您在上一個步驟 AWS CLI 中使用 ,請將下列命令ACTIVATION_ID中的 ACTIVATION_CODE 和 分別取代為 activationId、 和 activationCode值。aws-region 將 取代 AWS 區域 為您在上一個步驟中使用的 。接著執行命令,在註冊的叢集上安裝 eks-connector 代理程式:

    $ helm install eks-connector \ --namespace eks-connector \ oci://public.ecr.aws/eks-connector/eks-connector-chart \ --set eks.activationCode=ACTIVATION_CODE \ --set eks.activationId=ACTIVATION_ID \ --set eks.agentRegion=aws-region

    如果您在上一個步驟 AWS Management Console 中使用 ,請使用您從上一個步驟複製的命令,其中已填入這些值。

  2. 檢查已安裝eks-connector部署的運作狀態,並等待 Amazon 中註冊叢集的狀態EKS為 ACTIVE

YAML manifest

將 Amazon EKS Connector 資訊清單檔案套用至您的 Kubernetes 叢集。若要執行此動作,您必須使用先前描述的方法。如果清單未在三天內套用,Amazon EKS Connector 註冊就會過期。如果叢集連線過期,則必須先取消註冊叢集,才能再次連接叢集。

  1. 下載 Amazon EKS Connector YAML 檔案。

    curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
  2. 編輯 Amazon EKS Connector YAML 檔案,將 %AWS_REGION%%EKS_ACTIVATION_ID%、 的所有參考取代%EKS_ACTIVATION_CODE%為上一個步驟的輸出activationCode中的 activationIdaws-region和 。

    下列範例命令可以取代這些值。

    sed -i "s~%AWS_REGION%~$aws-region~g; s~%EKS_ACTIVATION_ID%~$EKS_ACTIVATION_ID~g; s~%EKS_ACTIVATION_CODE%~$(echo -n $EKS_ACTIVATION_CODE | base64)~g" eks-connector.yaml
    重要

    確認您的啟用代碼格式為 Base64。

  3. 在可存取叢集的終端機中,您可以執行以下命令來套用已更新的清單檔案檔案:

    kubectl apply -f eks-connector.yaml
  4. 將 Amazon EKS Connector 資訊清單和角色繫結YAML檔案套用至您的 Kubernetes 叢集,確認叢集現在已連線。

    aws eks describe-cluster \ --name "my-first-registered-cluster" \ --region AWS_REGION

    輸出應該包含 status=ACTIVE

  5. (選用) 將標籤新增至您的叢集。如需詳細資訊,請參閱使用標籤整理 Amazon EKS 資源

後續步驟

如果您對這些步驟有任何問題,請參閱 對 Amazon EKS Connector 問題進行故障診斷

授予其他IAM主體對 Amazon EKS主控台的存取權以檢視 Kubernetes 資源,請參閱 授予存取權以檢視 Amazon EKS 主控台上的Kubernetes叢集資源