協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您的叢集具有與其相關聯的 OpenID Connect
-
現有 Amazon EKS 叢集。若要部署叢集,請參閱 開始使用 Amazon EKS。
-
在您的裝置或 AWS CloudShell 上安裝和設定
1.27.160
AWS 命令列界面 (AWS CLI) 的版本2.12.3
或更新版本。若要檢查您目前的版本,請使用aws --version | cut -d / -f2 | cut -d ' ' -f1
。適用於 macOS 的yum
、apt-get
或 Homebrew 等套件管理員通常是最新版本 CLI AWS 後面的幾個版本。若要安裝最新版本,請參閱《 AWS 命令列界面使用者指南》中的使用 aws 設定安裝 和 快速組態。 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config安裝在 AWS CloudShell 中的 AWS CLI 版本也可能是最新版本後面的幾個版本。若要更新它,請參閱《CloudShell AWS 使用者指南》中的將 CLI 安裝到您的主目錄。 AWS CloudShell -
kubectl
命令列工具安裝在您的裝置或 AWS CloudShell 上。該版本可以與叢集的 Kubernetes 版本相同,也可以比叢集的 Kubernetes 版本更早或更晚一個次要版本。例如,如果您的叢集版本為1.29
,則可以搭配使用kubectl
1.28
、1.29
或1.30
版。若要安裝或升級kubectl
,請參閱 設定 kubectl和 eksctl。 -
包含叢集組態的現有
kubectl
config
檔案。若要建立kubectl
config
檔案,請參閱建立 kubeconfig 檔案,將 kubectl 連接至 EKS 叢集。
您可以使用 eksctl
或 為您的叢集建立 IAM OIDC 提供者 AWS Management Console。
建立 OIDC 提供者 (eksctl)
-
裝置或 AWS CloudShell 上安裝的
eksctl
命令列工具版本0.207.0
或更新版本。如需有關安裝或更新eksctl
的指示,請參閱eksctl
文件中的安裝一節。 -
判斷叢集的 OIDC 發行者 ID。
擷取叢集的 OIDC 發行者 ID,並將其存放在變數中。使用您自己的值取代
<my-cluster>
。cluster_name=<my-cluster> oidc_id=$(aws eks describe-cluster --name $cluster_name --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5) echo $oidc_id
-
判斷具有叢集發行者 ID 的 IAM OIDC 提供者是否已在您的帳戶中。
aws iam list-open-id-connect-providers | grep $oidc_id | cut -d "/" -f4
如果傳回輸出,表示您已有叢集的 IAM OIDC 提供者,您可以略過下一個步驟。如果未傳回任何輸出,則您必須為叢集建立 IAM OIDC 提供商。
-
使用下列命令為您的叢集建立 IAM OIDC 身分提供者。
eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approve
注意
如果您啟用 EKS VPC 端點,則無法從該 VPC 內部存取 EKS OIDC 服務端點。因此,您在 VPC
eksctl
中使用 建立 OIDC 提供者等操作將無法運作,且會導致逾時。以下是範例錯誤訊息:** server cant find oidc.eks.<region-code>.amazonaws.com: NXDOMAIN
若要完成此步驟,您可以在 VPC 外部執行 命令,例如 in AWS CloudShell 或連接至網際網路的電腦。或者,您可以在 VPC 中建立分割水平條件式解析程式,例如 Route 53 Resolver,以針對 OIDC 發行者 URL 使用不同的解析程式,而不為其使用 VPC DNS。如需 CoreDNS 中條件式轉送的範例,請參閱 GitHub 上的 Amazon EKS 功能請求
。
建立 OIDC 提供者AWS (主控台)
-
開啟 Amazon EKS 主控台
。 -
在左側窗格中,選取 Clusters (叢集),然後在 Clusters (叢集) 頁面上選取您的叢集名稱。
-
在 Overview (概觀) 標籤的 Details (詳細資訊) 區段中,記下 OpenID Connect provider URL (OpenID Connect 供應商 URL) 的值。
-
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在左側導覽窗格中,選擇 Access management (存取管理) 下的 Identity Providers (身分提供者)。如果列出的提供商與您叢集的 URL 相符,則表示您已經擁有叢集提供商。如果未列出符合叢集 URL 的提供者,則必須建立一個。
-
若要建立供應商,請選擇 Add provider (新增供應商)。
-
針對提供者類型,選取 OpenID Connect。
-
在提供者 URL 中,輸入叢集的 OIDC 提供者 URL。
-
針對對象,輸入
sts.amazonaws.com
。 -
(選用) 新增任何標籤,例如標籤,以識別適用於此提供者的叢集。
-
選擇 Add provider (新增提供者)。
後續步驟:將 IAM 角色指派給 Kubernetes 服務帳戶