協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
設定 Amazon EKS Pod 身分識別代理程式
Amazon EKS Pod 身分識別關聯提供管理應用程式憑證的功能,類似 Amazon EC2 執行個體設定檔將憑證提供給 Amazon EC2 執行個體的方式。
Amazon EKS Pod 身分識別透過其他 EKS 驗證 API 和在每個節點上執行的代理程式 Pod,為您的工作負載提供憑證。
提示
您無須在 EKS 自動模式叢集上安裝 EKS Pod 身分識別代理程式。EKS 自動模式中已內建此功能。
考量事項
-
依預設,EKS Pod 身分識別代理程式將預先安裝在 EKS 自動模式叢集上。如需詳細資訊,請參閱 利用 EKS 自動模式自動運作叢集基礎設施。
-
依預設,EKS Pod 身分識別代理程式將接聽
IPv4與IPv6位址,以便 Pod 請求憑證。代理程式針對IPv4使用迴路 (localhost) IP 位址169.254.170.23,針對IPv6使用 localhost IP 位址[fd00:ec2::23]。 -
若您停用
IPv6位址,或者以其他方式阻止 localhostIPv6IP 位址,將無法啟動代理程式。如需在不能使用IPv6的節點上啟動代理程式,遵循 在 EKS Pod 身分識別代理程式中停用 IPv6 中的步驟來停用IPv6組態。
建立 Amazon EKS Pod 身分識別代理程式
代理程式先決條件
-
現有 Amazon EKS 叢集。若要部署叢集,請參閱 開始使用 Amazon EKS。叢集版本和平台版本必須與 EKS Pod 身分識別叢集版本中列出的版本相同或為更新版本。
-
節點角色具有代理程式在 EKS 驗證 API 中執行
AssumeRoleForPodIdentity動作的許可。您可使用 AWS 受管政策:AmazonEKSWorkerNodePolicy,或者新增與下列所示類似的自訂政策:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks-auth:AssumeRoleForPodIdentity" ], "Resource": "*" } ] }此動作可能會受到標籤的限制,以限制使用代理程式的 Pod 可以擔任哪些角色。
-
這些節點可以從 Amazon ECR 連上和下載映像。適用於附加元件的容器映像位於檢視適用於 Amazon EKS 附加元件的 Amazon 容器映像登錄檔中列示的登錄檔中。
請注意,您可在 AWS 管理主控台 中的選用組態設定以及 AWS CLI 中的
--configuration-values中變更映像位置,並為 EKS 附加元件提供imagePullSecrets。 -
這些節點可以連上 Amazon EKS 驗證 API。若是私有叢集,則需要 AWS PrivateLink 中的
eks-auth端點。
透過 AWS 主控台來設定代理程式
-
開啟 Amazon EKS 主控台
。 -
在左側導覽窗格中,選取叢集,然後選取您要為其設定 EKS Pod 身分識別代理程式附加元件之叢集的名稱。
-
選擇附加元件索引標籤。
-
選擇取得更多附加元件。
-
選取 EKS Pod 身分識別代理程式之附加元件方塊右上方的方塊,然後選擇下一步。
-
在設定選取的附加元件設定頁面上,選取版本下拉式清單中的任何版本。
-
(選用) 展開選用組態設定以輸入其他組態。例如,您可以提供替代容器映像位置和
ImagePullSecrets。具有已接受索引鍵的 JSON 結構描述會顯示在附加元件組態結構描述中。在組態值中輸入組態金鑰和值。
-
選擇下一步。
-
確認 EKS Pod 身分識別代理程式 Pod 正在您的叢集上執行。
kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'範例輸出如下。
eks-pod-identity-agent-gmqp7 1/1 Running 1 (24h ago) 24h eks-pod-identity-agent-prnsh 1/1 Running 1 (24h ago) 24h您現在可以在叢集中使用 EKS Pod 身分識別關聯。如需詳細資訊,請參閱 指派 IAM 角色至 Kubernetes 服務帳戶。
透過 AWS CLI 來設定代理程式
-
執行下列 AWS CLI 命令。使用您叢集的名稱取代
my-cluster。aws eks create-addon --cluster-name my-cluster --addon-name eks-pod-identity-agent --addon-version v1.0.0-eksbuild.1注意
EKS Pod 身分識別代理程式不會針對服務帳戶的 IAM 角色使用
service-account-role-arn。您必須為 EKS Pod 身分識別代理程式提供節點角色的許可。 -
確認 EKS Pod 身分識別代理程式 Pod 正在您的叢集上執行。
kubectl get pods -n kube-system | grep 'eks-pod-identity-agent'範例輸出如下。
eks-pod-identity-agent-gmqp7 1/1 Running 1 (24h ago) 24h eks-pod-identity-agent-prnsh 1/1 Running 1 (24h ago) 24h您現在可以在叢集中使用 EKS Pod 身分識別關聯。如需詳細資訊,請參閱 指派 IAM 角色至 Kubernetes 服務帳戶。