設定 Amazon EKS Pod Identity Agent - Amazon EKS

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

設定 Amazon EKS Pod Identity Agent

Amazon EKS Pod Identity 關聯可讓您管理應用程式的憑證,類似於 Amazon EC2 執行個體描述檔向 Amazon EC2 執行個體提供憑證的方式。

Amazon EKS Pod Identity 透過在每個節點上執行的額外 EKS Auth API 和代理程式 Pod,為您的工作負載提供憑證。

考量事項

  • 根據預設,EKS Pod Identity Agent 會接聽 IPv4IPv6 地址,讓 Pod 請求憑證。代理程式使用 169.254.170.23 的回傳 (localhost) IP 地址IPv4[fd00:ec2::23]的 localhost IP 地址IPv6

  • 如果您停用IPv6地址,或以其他方式防止 localhost IPv6 IP 地址,則代理程式無法啟動。若要在無法使用 的節點上啟動代理程式IPv6,請依照 中的步驟在 EKS Pod Identity Agent IPv6中停用停用IPv6組態。

建立 Amazon EKS Pod Identity Agent

代理程式先決條件

  • 現有的 Amazon EKS 叢集。若要部署叢集,請參閱 Amazon EKS 入門。叢集版本和平台版本必須與 EKS Pod Identity 叢集版本EKS Pod Identity 叢集版本中列出的版本相同或更新。

  • 節點角色具有許可,可讓代理程式在 EKS Auth API 中執行AssumeRoleForPodIdentity動作。您可以使用 AWS 受管政策:AmazonEKSWorkerNodePolicyWord AWS 受管政策:AmazonEKSWorkerNodePolicy Word 或新增類似下列內容的自訂政策:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks-auth:AssumeRoleForPodIdentity" ], "Resource": "*" } ] }

    此動作可能會受到標籤的限制,以限制使用代理程式的 Pod 可以擔任哪些角色。

  • 節點可以從 Amazon ECR 存取和下載映像。附加元件的容器映像位於 Amazon EKS 附加元件的檢視 Amazon EKS 附加元件的 Amazon 容器映像註冊檢視 Amazon 容器映像登錄檔中列出的登錄檔中。

    請注意,您可以在 的選用組態設定中變更映像位置並提供 imagePullSecrets EKS 附加元件 AWS Management Console,並在 Word --configuration-values的 中提供 AWS CLI 附加元件。

  • 節點可以到達 Amazon EKS Auth API。對於私有叢集,需要eks-auth端點 in AWS PrivateLink 。

使用 AWS 主控台設定代理程式

  1. 開啟 Amazon EKS 主控台

  2. 在左側導覽窗格中,選取叢集,然後選取您要設定 EKS Pod Identity Agent 附加元件的叢集名稱。

  3. 選擇附加元件索引標籤。

  4. 選擇取得更多附加元件

  5. 選取 EKS Pod Identity Agent 附加元件方塊右上角的方塊,然後選擇下一步

  6. 設定選取的附加元件設定頁面上,選取版本下拉式清單中的任何版本。

  7. (選用) 展開選用組態設定以輸入其他組態。例如,您可以提供替代容器映像位置和 ImagePullSecrets。所以此 JSON Schema 附加元件組態結構描述中會顯示 和接受的金鑰。

    組態值中輸入組態金鑰和值。

  8. 選擇 Next (下一步)

  9. 確認 EKS Pod Identity Agent 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 Identity 關聯。如需詳細資訊,請參閱指派 IAM 角色至 Kubernetes 服務帳戶

使用 AWS CLI 設定代理程式

  1. 執行下列 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 Identity Agent 不會針對服務帳戶的 service-account-role-arn Word 角色使用 。 IAM 您必須為 EKS Pod Identity Agent 提供節點角色的許可。

  2. 確認 EKS Pod Identity Agent 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 Identity 關聯。如需詳細資訊,請參閱指派 IAM 角色至 Kubernetes 服務帳戶