準備混合節點的叢集存取 - Amazon EKS

協助改進此頁面

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 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 存取項目,您的叢集必須已使用 APIAPI_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

  1. 您必須已在裝置上安裝和設定 AWS CLI 的最新版本。若要檢查您目前的版本,請使用 aws --version。如 yum、apt-get 或適用於 macOS 的 Homebrew 等套件管理工具通常比最新版本的 AWS CLI 落後數個版本之多。若要安裝最新版本,請參閱《AWS 命令列介面使用者指南》中的安裝與使用 aws configure 的快速組態設定。

  2. 使用下列命令建立您的存取項目。將 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 管理主控台

  1. Amazon EKS 主控台開啟 Amazon EKS 主控台。

  2. 選擇已啟用混合節點的叢集的名稱。

  3. 選擇存取索引標籤。

  4. 選擇建立存取項目

  5. 針對 IAM 主體,選取您在 準備混合節點的憑證 的步驟中建立的混合節點 IAM 角色。

  6. 針對類型,選取混合 Linux

  7. (選用) 您可以使用標籤為存取項目指派標籤。例如,為了更輕鬆地找到具有相同標籤的所有資源而指定標籤。

  8. 選擇跳至檢閱和建立。您無法將政策新增至混合 Linux 存取項目或變更其存取範圍。

  9. 檢查存取項目的組態。如果有任何內容看起來不正確,請選擇上一步以返回上一步並修正錯誤。如果組態正確,請選擇建立

針對混合節點 IAM 角色,使用 aws-auth ConfigMap

在下列步驟中,您將使用您在 aws-auth 的步驟中建立的混合節點 IAM 角色的 ARN 來建立或更新 準備混合節點的憑證 ConfigMap。

  1. 檢查您的叢集是否已有現有的 aws-auth ConfigMap。請注意,如果您使用特定 kubeconfig 檔案,則請使用 --kubeconfig 旗標。

    kubectl describe configmap -n kube-system aws-auth
  2. 如果看到 aws-auth ConfigMap,則請視需要進行更新。

    1. 開啟 ConfigMap 進行編輯。

      kubectl edit -n kube-system configmap/aws-auth
    2. 視需要新增 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}}
    3. 儲存檔案並結束您的文字編輯器。

  3. 如果您的叢集沒有現有的 aws-auth ConfigMap,則請使用下列命令予以建立。使用混合節點 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