Amazon EKS 節點IAM角色 - Amazon EKS

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

Amazon EKS 節點IAM角色

Amazon EKS 節點kubelet協助程式AWSAPIs會代表您呼叫 。節點透過IAM執行個體描述檔和關聯的政策接收這些 API 呼叫的許可。您必須先為這些節點建立要在推出時使用的 IAM 角色,才能開始推出節點並將其登記至叢集。此要求適用於由 Amazon 提供的Amazon EKS最佳化 AMI 所推出的節點,或是AMIs您打算使用的任何其他節點。建立節點之前,您必須建立具有以下 IAM 政策的 IAM 角色:

檢查現有的節點角色

您可以使用下列程序來檢查 ,並查看 帳號是否已有Amazon EKS節點角色。

eksNodeRole 主控台檢查 IAM

  1. 開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽面板中,選擇 Roles (角色)。

  3. 搜尋 的角色清單eksNodeRole。 如果角色包含 eksNodeRoleNodeInstanceRole 不存在,請查看 建立Amazon EKS節點IAM角色 來建立角色。如果角色包含 eksNodeRoleNodeInstanceRole 存在,請選取角色以檢視連接的政策。

  4. 選擇 Permissions. (許可)。

  5. 確定 AmazonEKSWorkerNodePolicyAmazonEC2ContainerRegistryReadOnly 受管政策連接到角色。如果已連接政策,您的Amazon EKS節點角色已設定妥當。

    注意

    如果 AmazonEKS_CNI_Policy 政策連接到角色,我們建議您移除它並連接到映射到 IAM Kubernetes 服務帳號的 aws-node 角色。如需詳細資訊,請參閱 設定 VPC CNI Plugin 以使用服務帳號的 IAM 角色.

  6. 選擇 Trust Relationships (信任關係)Edit Trust Relationship (編輯信任關係).

  7. 確認信任關係包含下列政策。如果信任關係符合下列政策,請選擇 Cancel. (取消)。如果信任關係不符合,請將政策複製到 Policy Document (政策文件) 視窗中,並選擇 Update Trust Policy (更新信任政策).

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

建立Amazon EKS節點IAM角色

您可以使用 建立節點IAM角色AWS 管理主控台AWS CloudFormation。選取含有您要用來建立角色之工具名稱的標籤。

AWS 管理主控台

在 Amazon EKS 主控台中建立IAM節點角色

  1. 開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 選擇 Roles (角色),然後選擇 Create role (建立角色).

  3. 從 Choose a use case (選擇使用案例) 下的 Common use cases (一般使用案例) 清單中選擇 EC2然後選擇 Next: Permissions (下一步:許可)。

  4. Filter policies (篩選政策) 方塊中,輸入 AmazonEKSWorkerNodePolicy。 勾選 左側的方塊AmazonEKSWorkerNodePolicy

  5. Filter policies (篩選政策) 方塊中,輸入 AmazonEC2ContainerRegistryReadOnly。 勾選 左側的方塊AmazonEC2ContainerRegistryReadOnly

  6. AmazonEKS_CNI_Policy 政策必須連接到此角色或映射到 aws-node Kubernetes 服務帳號的不同角色。我們建議將政策指派給與 Kubernetes 服務帳號相關聯的角色,而不是將政策指派給此角色。如需詳細資訊,請參閱 設定 VPC CNI Plugin 以使用服務帳號的 IAM 角色.

  7. 選擇 Next: Tags (下一步:標籤).

  8. (選用) 藉由附加標籤做為索引鍵/值組,將中繼資料新增至角色。如需在 中使用標籤的詳細資訊IAM,請前往 中的標記 IAM 實體IAM 使用者指南

  9. 選擇 Next:Review (下一步:檢閱).

  10. 針對 Role name (角色名稱),輸入角色的唯一名稱,例如 NodeInstanceRole。 對於 Role description (角色描述),使用描述性文字 (例如 Amazon EKS - 節點群組 角色) 取代目前文字,然後選擇 Create role (建立角色)。

AWS CloudFormation

使用 建立您的Amazon EKS節點角色 AWS CloudFormation

  1. https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 選擇 Create stack (建立堆疊),然後選擇 With new resources (standard) (使用新資源 (標準))。.

  3. 對於 Specify template (指定範本),選取 Amazon S3 URL.

  4. 將以下 URL 貼到 Amazon S3 URL 文字區域,然後選擇 Next (下一步) 兩次:

    https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-nodegroup-role.yaml
  5. Specify stack details (指定堆疊詳細資訊) 頁面上,為 Stack name (堆疊名稱) 輸入名稱 (例如 eks-node-group-instance-role),然後選擇 Next (下一步).

  6. (選用) 在 Configure stack options (設定堆疊選項) 頁面上,您可以選擇為堆疊資源加上標籤。選擇下一步.

  7. Review (檢閱) 頁面上,勾選 Capabilities (功能) 區段中的方塊,然後選擇 Create stack (建立堆疊).

  8. 堆疊建立後,從主控台將其選取,然後選擇 Outputs (輸出).

  9. 記下所建立角色的 NodeInstanceRoleIAM 值。建立節點群組時,您需要此值。

  10. (選用,但建議) 先前步驟中IAM由範本連接至該角色的其中一個AWS CloudFormation政策是 AmazonEKS_CNI_Policy 受管政策。政策必須連接到此角色或與用於 aws-node VPC CNI plugin 之 Kubernetes Amazon EKS 服務帳號相關聯的角色。我們建議將政策指派給與 Kubernetes 服務帳號相關聯的角色。如需詳細資訊,請參閱 設定 VPC CNI Plugin 以使用服務帳號的 IAM 角色.