協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
準備混合節點的叢集存取
將混合節點連線至 Amazon EKS 叢集之前,您必須啟用具有 Kubernetes 許可的混合節點 IAM 角色,才能加入叢集。如需如何建立混合節點 IAM 角色的資訊,請參閱 準備混合節點的憑證。Amazon EKS 支援兩種方式將 IAM 主體與 Kubernetes 角色型存取控制 (RBAC)、Amazon EKS 存取項目和 aws-auth ConfigMap 建立關聯。如需有關 Amazon EKS 存取管理的詳細資訊,請參閱 授予 IAM 使用者和角色對 Kubernetes API 的存取權。
使用以下程序,以將您的混合節點 IAM 角色與 Kubernetes 許可建立關聯。若要使用 Amazon EKS 存取項目,您的叢集必須已使用 API 或 API_AND_CONFIG_MAP 身分驗證模式建立。若要使用 aws-auth ConfigMap,您的叢集必須已使用 API_AND_CONFIG_MAP 身分驗證模式建立。已啟用混合節點的 Amazon EKS 叢集不支援僅限 CONFIG_MAP 的身分驗證模式。
使用混合節點的 Amazon EKS 存取項目 IAM 角色
名為 HYBRID_LINUX 的混合節點 Amazon EKS 存取項目類型,可與 IAM 角色搭配使用。使用此存取項目類型時,使用者名稱會自動設定為 system:node:{{SessionName}}。如需建立存取項目的詳細資訊,請參閱 建立存取項目。
AWS CLI
-
您必須已在裝置上安裝和設定 AWS CLI 的最新版本。若要檢查您目前的版本,請使用
aws --version。如 yum、apt-get 或適用於 macOS 的 Homebrew 等套件管理工具通常比最新版本的 AWS CLI 落後數個版本之多。若要安裝最新版本,請參閱《AWS 命令列介面使用者指南》中的安裝與使用 aws configure 的快速組態設定。 -
使用下列命令建立您的存取項目。將 CLUSTER_NAME 取代為您的叢集名稱,並將 HYBRID_NODES_ROLE_ARN 取代為您在 準備混合節點的憑證 的步驟中建立的角色的 ARN。
aws eks create-access-entry --cluster-name CLUSTER_NAME \ --principal-arn HYBRID_NODES_ROLE_ARN \ --type HYBRID_LINUX
AWS 管理主控台
-
在 Amazon EKS 主控台
開啟 Amazon EKS 主控台。 -
選擇已啟用混合節點的叢集的名稱。
-
選擇存取索引標籤。
-
選擇建立存取項目。
-
針對 IAM 主體,選取您在 準備混合節點的憑證 的步驟中建立的混合節點 IAM 角色。
-
針對類型,選取混合 Linux。
-
(選用) 您可以使用標籤為存取項目指派標籤。例如,為了更輕鬆地找到具有相同標籤的所有資源而指定標籤。
-
選擇跳至檢閱和建立。您無法將政策新增至混合 Linux 存取項目或變更其存取範圍。
-
檢查存取項目的組態。如果有任何內容看起來不正確,請選擇上一步以返回上一步並修正錯誤。如果組態正確,請選擇建立。
針對混合節點 IAM 角色,使用 aws-auth ConfigMap
在下列步驟中,您將使用您在 aws-auth 的步驟中建立的混合節點 IAM 角色的 ARN 來建立或更新 準備混合節點的憑證 ConfigMap。
-
檢查您的叢集是否已有現有的
aws-authConfigMap。請注意,如果您使用特定kubeconfig檔案,則請使用--kubeconfig旗標。kubectl describe configmap -n kube-system aws-auth -
如果看到
aws-authConfigMap,則請視需要進行更新。-
開啟 ConfigMap 進行編輯。
kubectl edit -n kube-system configmap/aws-auth -
視需要新增
mapRoles個項目。使用混合節點 IAM 角色的 ARN 取代HYBRID_NODES_ROLE_ARN。請注意,{{SessionName}}是在 ConfigMap 中儲存的正確範本格式。請勿將其取代為其他值。data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: HYBRID_NODES_ROLE_ARN username: system:node:{{SessionName}} -
儲存檔案並結束您的文字編輯器。
-
-
如果您的叢集沒有現有的
aws-authConfigMap,則請使用下列命令予以建立。使用混合節點 IAM 角色的 ARN 取代HYBRID_NODES_ROLE_ARN。請注意,{{SessionName}}是在 ConfigMap 中儲存的正確範本格式。請勿將其取代為其他值。kubectl apply -f=/dev/stdin <<-EOF apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: HYBRID_NODES_ROLE_ARN username: system:node:{{SessionName}} EOF