協助改善此頁面
想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EKS Pod 執行 IAM 角色
需要 Amazon EKS Pod 執行角色才能Pods在 AWS Fargate 基礎設施上執行。
當您的叢集Pods在 AWS Fargate 基礎結構上建立時,在 Fargate 基礎架構上執行的元件必須代表您呼叫 AWS API。這樣他們就可以執行動作,例如從 Amazon ECR 提取容器映像或將日誌路由到其他 AWS 服務。Amazon EKS Pod 執行角色提供進行此類工作的 IAM 許可。
建立 Fargate 設定檔時,您必須使用設定檔為在 Fargate 基礎設施上執行的 Amazon EKS 元件指定 Pod 執行角色。此角色會新增至叢集的 Kubernetes 角色型存取控制kubelet
向您的 Amazon EKS 叢集註冊,以便它可以在該叢集中作為節點出現。
注意
Fargate 設定檔的 IAM 角色必須與 Amazon EC2 節點群組不同。
重要
在 Fargate Pod 中執行的容器,無法採用與 Pod 執行角色相關聯的 IAM 許可。若要授予 Fargate 中的容器存取其他 AWS 服務的Pod權限,您必須使用服務帳戶的 IAM 角色。
建立 Fargate 描述檔之前,您必須建立具有 AmazonEKSFargatePodExecutionRolePolicy
的 IAM 角色。
檢查是否有正確設定的現有 Pod 執行角色
您可使用以下程序,檢查您的帳戶是否已有正確設定的 Amazon EKS Pod 執行角色。為了避免出現混淆代理人安全問題,根據 SourceArn
的角色限制存取是非常重要的一環。您可以視需要修改執行角色,以納入對其他叢集上的 Fargate 描述檔的支援。
若要在 IAM 主控台中檢查 Amazon EKS Pod 執行角色
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在左側導覽窗格中,選擇 Roles (角色)。
-
在「角色」頁面上,搜尋 AmazonE FargatePodExecutionRole ks 的角色清單。如果該角色不存在,請參閱「建立 Amazon EKS Pod 執行角色」以建立角色。如果該角色存在,請選取角色。
-
在 AmazonEKS FargatePodExecutionRole 頁上,執行以下操作:
-
選擇許可。
-
確保將 AmazonEks FargatePodExecutionRolePolicy Amazon 託管政策附加到該角色上。
-
選擇 Trust relationships (信任關係)。
-
選擇 Edit trust policy (編輯信任政策)。
-
-
在 Edit trust policy (編輯信任政策)頁面上,確認信任關係包含以下政策,並且在叢集上具有 Fargate 描述檔的行。若是如此,請選擇 Cancel (取消)。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:
region-code
:111122223333
:fargateprofile/my-cluster
/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }如果政策相符,但沒有指定叢集上的 Fargate 描述檔的行,您可以在
ArnLike
物件頂端新增以下行。使用叢集所在的 AWS 區域 取代
,用帳戶 ID 取代region-code
,再以您的叢集名稱取代111122223333
。my-cluster
"aws:SourceArn": "arn:aws:eks:
region-code
:111122223333
:fargateprofile/my-cluster
/*",如果政策不相符,請將完整前一個政策複製到表單中,然後選擇 Update policy (更新政策)。使用叢集所在的 AWS 區域 取代
。如果您想在帳戶中使用相同的 AWS 區域 角色,請將region-code
區域代碼 us-iso-east us-isob-east
取代為.*
使用您的帳戶 ID 取代
,再以您的叢集名稱取代111122223333
。若要在您的帳戶中的所有叢集使用相同角色,請使用my-cluster
*
取代
。my-cluster
建立 Amazon EKS Pod 執行角色
如果您還沒有叢集的 Amazon EKS Pod 執行角色,可以使用 AWS Management Console 或 AWS CLI 來建立它。