本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立或更新 Amazon EKS 叢集的 kubeconfig
檔案
在本主題中,您將為您的叢集建立 kubeconfig
檔案 (或更新現有的檔案)。
kubectl
命令列工具會使用 kubeconfig
檔案中的組態資訊,以與叢集的 API 伺服器進行通訊。如需詳細資訊,請參閱 Kubernetes 文件中的 Organizing Cluster Access Using kubeconfig Files
Amazon EKS 使用 aws eks get-token
命令搭配 kubectl
進行叢集身分驗證。依預設,會 AWS CLI 使用與下列命令傳回的相同認證:
aws sts get-caller-identity
必要條件
-
現有 Amazon EKS 叢集。若要部署叢集,請參閱 Amazon EKS 入門。
-
已在裝置或 AWS CloudShell上安裝
kubectl
命令列工具。版本可以與您的叢集 Kubernetes 版本相同,或是為最多比該版本更舊一版或更新一版的次要版本。例如,如果您的叢集版本為1.28
,則可以搭配使用kubectl
1.27
、1.28
或1.29
版。若要安裝或升級kubectl
,請參閱 安裝或更新 kubectl。 -
您裝置上安裝和設定的 AWS Command Line Interface (AWS CLI) 的版本
1.27.160
或更新版本、版本或更新版本或更新版本或更新版本 AWS CloudShell。2.12.3
若要檢查您目前的版本,請使用
。如aws --version | cut -d / -f2 | cut -d ' ' -f1
yum
、apt-get
或適用於 macOS 的 Homebrew 等套件管理工具通常比最新版本的 AWS CLI落後數個版本之多。若要安裝最新版本,請參閱《AWS Command Line Interface 使用者指南》中的安裝、更新和解除安裝 AWS CLI以及使用 aws configure 的快速組態。安裝在中的 AWS CLI 版本也 AWS CloudShell 可能是最新版本之後的幾個版本。若要進行更新,請參閱《AWS CloudShell 使用者指南》中的〈安裝 AWS CLI 到主目錄〉。 -
具有對您指定的叢集使用
eks:DescribeCluster
API 動作許多的 IAM 使用者或角色。如需詳細資訊,請參閱 Amazon EKS 身分型政策範例。如果您使用自己的 OpenID Connect 提供者提供的身分來存取叢集,則請參閱 Kubernetes 文件中的 Usingkubectl
一節以了解如何建立或更新 kube config
檔案。
自動建立 kubeconfig
檔案
必要條件
-
您裝置上安裝和設定的 AWS Command Line Interface (AWS CLI) 的版本
1.27.160
或更新版本、版本或更新版本或更新版本或更新版本 AWS CloudShell。2.12.3
若要檢查您目前的版本,請使用
。如aws --version | cut -d / -f2 | cut -d ' ' -f1
yum
、apt-get
或適用於 macOS 的 Homebrew 等套件管理工具通常比最新版本的 AWS CLI落後數個版本之多。若要安裝最新版本,請參閱《AWS Command Line Interface 使用者指南》中的安裝、更新和解除安裝 AWS CLI以及使用 aws configure 的快速組態。安裝在中的 AWS CLI 版本也 AWS CloudShell 可能是最新版本之後的幾個版本。若要進行更新,請參閱《AWS CloudShell 使用者指南》中的〈安裝 AWS CLI 到主目錄〉。 -
對您指定的叢集使用
eks:DescribeCluster
API 動作的許可。如需詳細資訊,請參閱 Amazon EKS 身分型政策範例。
若要使用建立您的kubeconfig
檔案 AWS CLI
-
為您的叢集建立或更新
kubeconfig
檔案。將區域代碼 us-iso-east us-isob-east
替換為叢集 AWS 區域 所在的位置,並以叢集名稱取代 my-cluster
。aws eks update-kubeconfig --region
region-code
--namemy-cluster
根據預設,產生的組態檔案會在主目錄預設的
kubeconfig
路徑下 (.kube
),或與位在該處的現有config
檔案合併。您可以使用--kubeconfig
選項指定其他路徑。您可以使用
--role-arn
選項指定 IAM 角色 ARN,用於在您發出kubectl
命令時進行身分驗證。否則,會使用預設 AWS CLI 或 SDK 憑證鏈中的 IAM 主體。您可以通過運行aws sts get-caller-identity
命令來查看默認 AWS CLI 或 SDK 身份。如需所有可用的選項,請執行
aws eks update-kubeconfig help
命令,或參閱 AWS CLI Command Reference 中的update-kubeconfig
一節。 -
測試組態。
kubectl get svc
範例輸出如下。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m
如果您收到任何授權或資源類型錯誤,請參閱故障診斷主題中的未經授權或存取遭拒 (kubectl)。