協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
Amazon EKS 叢集 IAM 角色
每個叢集都需要一個 Amazon EKS 叢集 IAM 角色。受 Amazon EKS 管理的 Kubernetes 叢集使用此角色來管理節點,而舊式雲端供應商
建立 Amazon EKS 叢集之前,您必須先建立具有以下任一 IAM 政策的 IAM 角色:
-
自訂 IAM 政策。以下是 Kubernetes 叢集可管理節點的最低許可,但無法讓舊式雲端供應商
建立具有 Elastic Load Balancing 的負載平衡器。您的自訂 IAM 政策必須至少擁有下列許可: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "ForAnyValue:StringLike": { "aws:TagKeys": "kubernetes.io/cluster/*" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeAvailabilityZones", "ec2:DescribeInstanceTopology", "kms:DescribeKey" ], "Resource": "*" } ] }
注意
在 2023 年 10 月 3 日之前,每個叢集的 IAM 角色都必須使用 AmazonEKSClusterPolicy。
在 2020 年 4 月 16 日之前,也必須使用 AmazonEKSServicePolicy 和 AmazonEKSClusterPolicy,且角色的建議名稱為 eksServiceRole。使用 AWSServiceRoleForAmazonEKS 服務連結角色時,AmazonEKSServicePolicy 政策不再需要針對 2020 年 4 月 16 日或之後建立的叢集。
檢查現有的叢集角色
您可使用以下程序,檢查您的帳戶是否已有 Amazon EKS 叢集角色。
-
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在左側導覽窗格中,選擇 Roles (角色)。
-
搜尋
eksClusterRole的角色清單。如果包含eksClusterRole的角色不存在,請參閱 建立 Amazon EKS 叢集角色 以建立角色。如果包含eksClusterRole的角色存在,請選取角色以檢視連接的政策。 -
選擇許可。
-
確定 AmazonEKSClusterPolicy 受管政策已附加到該角色。如果已連接政策,則您的 Amazon EKS 叢集角色應已設定妥當。
-
選擇 Trust Relationships (信任關係),然後選擇 Edit trust policy (編輯信任政策)。
-
確認信任關係包含下列政策。如果信任關係符合下列政策,請選擇 Cancel (取消)。如果信任關係不符合,請將政策複製到編輯信任政策視窗中,然後選擇更新政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
建立 Amazon EKS 叢集角色
您可以使用 AWS 管理主控台 或 AWS CLI 建立叢集角色。
- AWS 管理主控台
-
-
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
選擇 Roles (角色),然後選擇 Create role (建立角色)。
-
在可信實體類型下,選取 AWS 服務。
-
從其他 AWS 服務的使用案例下拉式清單中,選擇 EKS。
-
針對您的使用案例選擇 EKS - Cluster (EKS - 叢集),然後選擇 Next (下一步)。
-
在 Add permissions (新增許可) 標籤上,選擇 Next (下一步)。
-
針對 Role name (角色名稱),為您的角色輸入唯一名稱 (例如
eksClusterRole)。 -
針對 Description (描述),輸入描述性文字,如
Amazon EKS - Cluster role。 -
選擇建立角色。
-
- AWS CLI
-
-
將下列內容複製到名為
cluster-trust-policy.json的檔案。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } -
建立角色。您可以將
eksClusterRole取代為您選擇的任何名稱。aws iam create-role \ --role-name eksClusterRole \ --assume-role-policy-document file://"cluster-trust-policy.json" -
將所需的 IAM 政策連接至角色。
aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name eksClusterRole
-