協助改善此頁面
想要為此使用者指南做出貢獻嗎? 捲動至此頁面底部,然後選取 [編輯此頁面於] GitHub。您的貢獻將有助於使我們的用戶指南更適合所有人。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將外部Kubernetes叢集 Connect 到 Amazon EKS 管理主控台
您可以在下列程序中使用多種方法將外部Kubernetes叢集連接到 Amazon EKS。此程序包含兩個步驟:向 Amazon 註冊叢集,EKS然後在叢集中安裝eks-connector
代理程式。
您必須在完成第一個步驟後的 3 天內完成第二個步驟,以免註冊過期。
考量事項
您可以在安裝代理程式時使用YAML資訊清單。 AWS Management Console 或者,如果您向或註冊叢集,則可以使用 Helm AWS Command Line Interface。但是,如果您使用註冊叢集,則無法使用 Helm 來安裝代理程式eksctl
。
必要條件
步驟 1:註冊叢集
- 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-region
、activationId
和 activationCode
值。
- AWS Management Console
-
向主控台註冊 Kubernetes 叢集。
在https://console.aws.amazon.com/eks/家裡 #/集群打開 Amazon EKS 控制台。
-
選擇 Add cluster (新增叢集),然後選取 Register (註冊) 以顯示組態頁面。
-
在 Configure cluster (設定叢集) 區段上,填寫下列欄位:
-
選取 Register cluster (註冊叢集)。
-
系統隨即會顯示叢集概觀頁面。如果您想使用 Helm Chart,請複製 helm install
命令並繼續下一個步驟。如果您想要使用YAML資訊清單,請選擇 [下載YAML檔案] 將資訊清單檔案下載到您的本機磁碟機。
繼續執行下一步,將清單檔案檔案套用到 Kubernetes 叢集。
- eksctl
-
向 eksctl
註冊叢集
-
透過提供名稱、供應商和區域來註冊叢集。
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 天內套用至外部叢集,否則註冊將會過期。
-
在可存取叢集的終端機中,套用 eks-connector-binding.yaml
檔案:
kubectl apply -f eks-connector-binding.yaml
步驟 2:安裝 eks-connector
代理程式
- Helm chart
-
如果您使用註冊叢集eksctl
,請使用YAML資訊清單方法,而不是 Helm 圖表方法。
-
如果您 AWS CLI 在上一個步驟中使用,請分別使用、ACTIVATION_CODE
和activationCode
值來取代下列指令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 在上一個步驟中使用了,請使用已填入這些值的上一個步驟複製的指令。
-
檢查已安裝eks-connector
部署的健康狀態,並等待 Amazon 中已註冊叢集的狀態EKS為。ACTIVE
- YAML manifest
-
將 Amazon 連EKS接器資訊清單檔案套用至Kubernetes叢集,以完成連線。若要執行此動作,您必須使用先前描述的方法。如果未在三天內套用資訊清單,Amazon EKS 連接器註冊就會到期。如果叢集連線過期,則必須先取消註冊叢集,才能再次連接叢集。
-
下載 Amazon EKS 連接器YAML文件。
curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
-
編輯 Amazon EKS 連接器YAML檔案 %AWS_REGION%
%EKS_ACTIVATION_ID%
,%EKS_ACTIVATION_CODE%
以取代上一步輸出的aws-region
activationId
、、和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
-
在可存取叢集的終端機中,您可以執行以下命令來套用已更新的清單檔案檔案:
kubectl apply -f eks-connector.yaml
-
將 Amazon 連EKS接器資訊清單和角色繫結YAML檔案套用至Kubernetes叢集後,請確認叢集現已連線。
aws eks describe-cluster \
--name "my-first-registered-cluster"
\
--region AWS_REGION
輸出應該包含 status=ACTIVE
。
-
(選用) 將標籤新增至您的叢集。如需詳細資訊,請參閱使用標籤整理 Amazon EKS 資源。
後續步驟
如果您對這些步驟有任何問題,請參閱 疑難排解 Amazon EKS 連接。
若要授與其他IAM主體存取 Amazon 主EKS控台以檢視已連線叢集中的Kubernetes資源,請參閱授予存取權以檢視 Amazon EKS 主控台上的Kubernetes叢集資源。