遷移現有 aws-auth ConfigMap 項目至存取項目 - Amazon EKS

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

遷移現有 aws-auth ConfigMap 項目至存取項目

如果您已將項目新增至叢集aws-authConfigMap上的 ,建議您為 aws-auth 中的現有項目建立存取項目ConfigMap。建立存取項目後,您可以從 ConfigMap 中移除對應項目。您無法將將存取政策與存取項目建立關聯存取政策與 aws-auth 中的項目建立關聯ConfigMap。如果您想要將存取政策與 IAM 主體建立關聯,請建立存取項目。

重要

當您將使用受管節點群組簡化節點生命週期受管節點群組或 定義 Pods 啟動時使用 AWS FargateFargate 設定檔新增至叢集時,請勿移除 Amazon EKS 建立的現有aws-authConfigMap項目。如果您移除 Amazon EKS 在 中建立的項目ConfigMap,您的叢集將無法正常運作。不過,您可以在使用自我管理節點自行維護節點建立自我管理節點群組的存取項目之後,移除這些節點群組的任何項目。

  • 熟悉存取項目和存取政策。如需詳細資訊,請參閱 授權 IAM 使用者存取 Kubernetes 使用 EKS 存取項目將存取政策與存取項目建立關聯

  • 平台版本等於或高於授權 IAM 使用者存取 Kubernetes 使用 EKS 存取項目允許 IAM 角色或使用者存取 Amazon EKS 叢集主題上 Kubernetes 物件先決條件中所列版本的現有叢集。

  • 裝置 or AWS CloudShell 上安裝的eksctl命令列工具版本 0.194.0或更新版本。如需有關安裝或更新 eksctl 的指示,請參閱 eksctl 文件中的安裝一節。

  • Kubernetes 修改kube-system命名空間aws-authConfigMap中 的許可。

  • 具有下列許可的 AWS Identity and Access Management 角色或使用者: CreateAccessEntryListAccessEntries。如需詳細資訊,請參閱《服務授權參考》中的 Amazon Elastic Kubernetes Service 定義的動作一節。

    1. 檢視 aws-auth ConfigMap 中的現有項目。Replace (取代) my-cluster 您的叢集名稱。

      eksctl get iamidentitymapping --cluster my-cluster

      範例輸出如下。

      ARN USERNAME GROUPS ACCOUNT arn:aws: iam::111122223333:role/EKS-my-cluster-Admins Admins system:masters arn:aws: iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers my-namespace-Viewers Viewers arn:aws: iam::111122223333:role/EKS-my-cluster-self-managed-ng-1 system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes arn:aws: iam::111122223333:user/my-user my-user arn:aws: iam::111122223333:role/EKS-my-cluster-fargateprofile1 system:node:{{SessionName}} system:bootstrappers,system:nodes,system:node-proxier arn:aws: iam::111122223333:role/EKS-my-cluster-managed-ng system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
    2. 建立存取項目為您在上一個輸出中傳回的任何項目建立存取ConfigMap項目。建立存取項目時,請確保為 ARNUSERNAMEGROUPSACCOUNT 指定與輸出中傳回的值相同的值。在範例輸出中,您將為除最後兩個項目以外的所有項目建立存取項目,因為這些項目是由 Amazon EKS 為 Fargate 設定檔和受管節點群組建立。

    3. ConfigMap 中刪除您建立的任何存取項目對應的項目。如果您未從 刪除項目ConfigMap,則 IAM 主體 ARN 的存取項目設定會覆寫ConfigMap項目。Replace (取代) 111122223333 使用 AWS 您的帳戶 ID 和 EKS-my-cluster-my-namespace-Viewers 在 的項目中包含角色名稱ConfigMap。如果您要移除的項目適用於 IAM 使用者,而不是 IAM 角色,role請將 取代為 userEKS-my-cluster-my-namespace-Viewers 使用者名稱。

      eksctl delete iamidentitymapping --arn arn:aws: iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster