協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格中的 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您的叢集具有與其相關聯的 OpenID Connect
-
現有 Amazon EKS 叢集。若要部署叢集,請參閱 開始使用 Amazon EKS。
-
裝置或 AWS CloudShell 上安裝和設定的 AWS 命令列界面 (AWS CLI) 版本
1.27.160
2.12.3
或更新版本。若要檢查您目前的版本,請使用aws --version | cut -d / -f2 | cut -d ' ' -f1
。適用於 macOS 的yum
、apt-get
或 Homebrew 等套件管理員通常是最新版本 CLI AWS 後面的幾個版本。若要安裝最新版本,請參閱《 AWS 命令列界面使用者指南》中的使用 aws 設定安裝 和 Quick configuration。 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.204.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 提供者) 將無法運作,並且當嘗試請求https://oidc.eks
時,會導致逾時。以下是範例錯誤訊息:. region
.amazonaws.com
** server cant find oidc.eks.region.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 服務帳戶