協助改善此頁面
想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
連接外部 Kubernetes 叢集到 Amazon EKS管理主控台
您可以連接外部 Kubernetes 叢集到 AmazonEKS,方法是在下列程序中使用多種方法。此程序包含兩個步驟:向 Amazon 註冊叢集,EKS並在叢集中安裝eks-connector
代理程式。
您必須在完成第一個步驟後的 3 天內完成第二個步驟,以免註冊過期。
考量事項
您可以在安裝代理程式時使用YAML資訊清單。或者,如果您向 AWS Management Console 或 註冊叢集,則可以使用 Helm AWS Command Line Interface。不過,如果您向 註冊叢集,則無法使用 Helm 安裝代理程式eksctl
。
必要條件
步驟 1:註冊叢集
- 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-region
、activationId
和 activationCode
值。
- AWS Management Console
-
若要註冊您的 Kubernetes 叢集與主控台。
開啟位於 https://console.aws.amazon.com/eks/home#/clusters 的 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 Chart 方法。
-
如果您在上一個步驟 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 中使用 ,請使用您從上一個步驟複製的命令,其中已填入這些值。
-
檢查已安裝eks-connector
部署的運作狀態,並等待 Amazon 中註冊叢集的狀態EKS為 ACTIVE
。
- YAML manifest
-
將 Amazon EKS Connector 資訊清單檔案套用至您的 Kubernetes 叢集。若要執行此動作,您必須使用先前描述的方法。如果清單未在三天內套用,Amazon EKS Connector 註冊就會過期。如果叢集連線過期,則必須先取消註冊叢集,才能再次連接叢集。
-
下載 Amazon EKS Connector YAML 檔案。
curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
-
編輯 Amazon EKS Connector YAML 檔案,將 %AWS_REGION%
、%EKS_ACTIVATION_ID%
、 的所有參考取代%EKS_ACTIVATION_CODE%
為上一個步驟的輸出activationCode
中的 activationId
、 aws-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
-
在可存取叢集的終端機中,您可以執行以下命令來套用已更新的清單檔案檔案:
kubectl apply -f eks-connector.yaml
-
將 Amazon EKS Connector 資訊清單和角色繫結YAML檔案套用至您的 Kubernetes 叢集,確認叢集現在已連線。
aws eks describe-cluster \
--name "my-first-registered-cluster"
\
--region AWS_REGION
輸出應該包含 status=ACTIVE
。
-
(選用) 將標籤新增至您的叢集。如需詳細資訊,請參閱使用標籤整理 Amazon EKS 資源。
後續步驟
如果您對這些步驟有任何問題,請參閱 對 Amazon EKS Connector 問題進行故障診斷。
授予其他IAM主體對 Amazon EKS主控台的存取權以檢視 Kubernetes 資源,請參閱 授予存取權以檢視 Amazon EKS 主控台上的Kubernetes叢集資源。