本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EKS 叢集 IAM 角色
每個叢集都需要 Amazon EKS 叢集 IAM 角色。Kubernetes 由 Amazon EKS 管理的 叢集使用此角色來管理節點,而舊版雲端提供者
在建立 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 角色都需要 AmazonEKSCluster 政策。
在 2020 年 4 月 16 日之前,需要 AmazonEKSService 政策和 AmazonEKSCluster 政策,該角色的建議名稱為 eksServiceRole
。對於AWSServiceRoleForAmazonEKS
服務連結角色,在 2020 年 4 月 16 日當天或之後建立的叢集不再需要 AmazonEKSService 政策。
檢查現有的叢集角色
您可以使用下列程序來檢查您的帳戶是否已具有 Amazon EKS 叢集角色。
-
在 IAM 開啟 https://console.aws.amazon.com/iam/
主控台。 -
在左側導覽窗格中,選擇 Roles (角色)。
-
搜尋
eksClusterRole
的角色清單。如果eksClusterRole
包含 的角色不存在,請參閱 建立 Amazon EKS 叢集角色 以建立角色。如果包含eksClusterRole
的角色存在,請選取角色以檢視連接的政策。 -
選擇許可。
-
確定 AmazonEKSCluster 政策受管政策已連接至角色。如果已連接政策,則會正確設定 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 Management Console 或 AWS CLI 來建立叢集角色。
- AWS Management Console
-
-
在 IAM 開啟 https://console.aws.amazon.com/iam/
主控台。 -
選擇 Roles (角色),然後選擇 Create role (建立角色)。
-
在信任的實體類型下,選取 AWS 服務。
-
從 AWS 其他服務的使用案例下拉式清單中,選擇 EKS。
-
為您的使用案例選擇 EKS - 叢集,然後選擇下一步。
-
在 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
-