將外部Kubernetes叢集 Connect 到 Amazon EKS 管理主控台 - Amazon EKS

協助改善此頁面

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

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

將外部Kubernetes叢集 Connect 到 Amazon EKS 管理主控台

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

重要

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

考量事項

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

必要條件

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

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

    • eks:RegisterCluster

    • ssm:CreateActivation

    • ssm:DeleteActivation

    • iam:PassRole

步驟 1:註冊叢集

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

若要向叢集註冊 AWS CLI
  • 對於連接器組態,請指定您的 Amazon EKS 連接器代理程式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/家裡 #/集群打開 Amazon EKS 控制台。

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

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

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

    • Provider (供應商) – 選擇以顯示 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 圖表方法。

  1. 如果您 AWS CLI 在上一個步驟中使用,請分別使用、ACTIVATION_CODEactivationCode值來取代下列指令ACTIVATION_ID中的和。activationId以您在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接器資訊清單檔案套用至Kubernetes叢集,以完成連線。若要執行此動作,您必須使用先前描述的方法。如果未在三天內套用資訊清單,Amazon EKS 連接器註冊就會到期。如果叢集連線過期,則必須先取消註冊叢集,才能再次連接叢集。

  1. 下載 Amazon EKS 連接器YAML文件。

    curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
  2. 編輯 Amazon EKS 連接器YAML檔案 %AWS_REGION%%EKS_ACTIVATION_ID%%EKS_ACTIVATION_CODE%以取代上一步輸出的aws-regionactivationId、、和activationCode的所有參考。

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

    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接器資訊清單和角色繫結YAML檔案套用至Kubernetes叢集後,請確認叢集現已連線。

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

    輸出應該包含 status=ACTIVE

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

後續步驟

如果您對這些步驟有任何問題,請參閱 疑難排解 Amazon EKS 連接

若要授與其他IAM主體存取 Amazon 主EKS控台以檢視已連線叢集中的Kubernetes資源,請參閱授予存取權以檢視 Amazon EKS 主控台上的Kubernetes叢集資源