跳至內容

當我使用堡壘主機時,如何對 Amazon EKS 叢集錯誤進行疑難排解?

1 分的閱讀內容
0

當我使用 kubectl 用戶端從我的堡壘主機連接到 Amazon Elastic Kubernetes Service (Amazon EKS) 時,收到以下錯誤:"error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1""。我想要解決此問題。

解決方法

當您使用的 kubectl 版本與 Kubernetes 叢集的 API 版本不相容時,您會收到 invalid apiVersion 錯誤。此錯誤通常發生在您使用較舊版本的 AWS Command Line Interface (AWS CLI) 來更新 $home/.kube/config 中的 kubeconfig 檔案時。若要解決此問題,請將 AWS CLI 升級到最新版本。然後,再次更新 kubeconfig 檔案。當您更新 kubeconfig 檔案時,kubeconfig 檔案中的 apiVersion 欄位會更新為最新版本 (v1beta1)。

升級到最新版本的 AWS CLI

安裝或更新到最新版本的 AWS CLI

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解

安裝支援的 kubectl 版本

**注意:**您必須使用與您的 Amazon EKS 叢集控制平面版本相差不超過一個次版本的 kubectl 版本。例如,1.28 版本的 kubectl 用戶端可用於 Kubernetes 1.27、1.28 和 1.29 叢集。

若要為您的 Amazon EKS 叢集版本安裝支援的 kubectl 版本,請完成以下步驟:

  1. 若要要 下載 kubectl,請執行以下命令:

        $ curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.3/2024-04-19/bin/linux/arm64/kubectl.sha256
        $ chmod +x ./kubectl

    **注意:**將 linux 替換為您的作業系統,將 arm64 替換為您的發行版本,將 1.29 替換為您的 Kubernetes 版本。

  2. 將下載的 kubectl 檔案複製到您路徑中的資料夾。如果您已安裝 kubectl 版本,請建立 $HOME/bin/kubectl

       $ mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH

    **注意:**您必須將 $HOME/bin 列在 $PATH 的最前面。

  3. 若要確認已安裝的 kubectl 版本,請執行以下命令:

       $ kubectl version --client
  4. (選用) 將 $HOME/bin 路徑加入您的 shell 初始化檔案:

       $ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
  5. 若要將 kubeconfig 檔案從 v1alpha1 更新到 v1beta1,請執行以下命令:

       $ aws eks update-kubeconfig --name clusterName --region regionName

    **注意:**將 clusterName 替換為您的叢集名稱,將 regionName 替換為您的 AWS 區域。

  6. 若要測試是否能連線到叢集,請執行以下命令:

      $ kubectl get svc
      $ kubectl get pod
AWS 官方已更新 1 年前