在 Windows 上安裝和設定 kubectl

準備工作

你必須使用與叢集次版本號相差在一個版本之內的 kubectl 版本。例如,v1.34 客戶端可以與 v1.33、v1.34 和 v1.35 控制平面通訊。使用最新相容的 kubectl 版本有助於避免意外問題。

在 Windows 上安裝 kubectl

以下是在 Windows 上安裝 kubectl 的方法

在 Windows 上安裝 kubectl 二進位制檔案(透過直接下載或 curl)

  1. 在 Windows 裝置上安裝 kubectl 有兩種選擇

    • 直接下載

      訪問 Kubernetes 釋出頁面,直接下載適用於特定架構的最新 1.34 補丁版本二進位制檔案。請務必為你的架構(例如 amd64、arm64 等)選擇正確的二進位制檔案。

    • 使用 curl

      如果你安裝了 curl,請使用此命令

      curl.exe -LO "https://dl.k8s.io/release/v1.34.0/bin/windows/amd64/kubectl.exe"
      
  2. 驗證二進位制檔案(可選)

    下載 kubectl 校驗和檔案

    curl.exe -LO "https://dl.k8s.io/v1.34.0/bin/windows/amd64/kubectl.exe.sha256"
    

    根據校驗和檔案驗證 kubectl 二進位制檔案

    • 使用命令提示符手動將 CertUtil 的輸出與下載的校驗和檔案進行比較

      CertUtil -hashfile kubectl.exe SHA256
      type kubectl.exe.sha256
      
    • 使用 PowerShell 自動化驗證,使用 -eq 運算子獲取 TrueFalse 結果

       $(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256)
      
  3. kubectl 二進位制資料夾新增到或前置到你的 PATH 環境變數中。

  4. 測試以確保 kubectl 的版本與下載的版本相同

    kubectl version --client
    

    或者使用此命令檢視詳細版本資訊

    kubectl version --client --output=yaml
    

使用 Chocolatey、Scoop 或 winget 在 Windows 上安裝

  1. 要在 Windows 上安裝 kubectl,你可以使用 Chocolatey 包管理器、Scoop 命令列安裝程式或 winget 包管理器。

    choco install kubernetes-cli
    

    scoop install kubectl
    

    winget install -e --id Kubernetes.kubectl
    
  2. 測試以確保你安裝的版本是最新的

    kubectl version --client
    
  3. 導航到你的主目錄

    # If you're using cmd.exe, run: cd %USERPROFILE%
    cd ~
    
  4. 建立 .kube 目錄

    mkdir .kube
    
  5. 切換到你剛建立的 .kube 目錄

    cd .kube
    
  6. 配置 kubectl 以使用遠端 Kubernetes 叢集

    New-Item config -type file
    

驗證 kubectl 配置

為了讓 kubectl 找到並訪問 Kubernetes 叢集,它需要一個 kubeconfig 檔案,該檔案在你使用 kube-up.sh 建立叢集或成功部署 Minikube 叢集時自動建立。預設情況下,kubectl 配置位於 ~/.kube/config

透過獲取叢集狀態來檢查 kubectl 是否配置正確

kubectl cluster-info

如果你看到 URL 響應,則 kubectl 已正確配置以訪問你的叢集。

如果你看到類似以下訊息,則 kubectl 配置不正確或無法連線到 Kubernetes 叢集。

The connection to the server <server-name:port> was refused - did you specify the right host or port?

例如,如果你打算在筆記型電腦(本地)上執行 Kubernetes 叢集,你需要先安裝 Minikube 等工具,然後重新執行上述命令。

如果 kubectl cluster-info 返回 URL 響應但你無法訪問你的叢集,要檢查它是否配置正確,請使用

kubectl cluster-info dump

解決“未找到身份驗證提供程式”錯誤訊息

在 Kubernetes 1.26 中,kubectl 移除了對以下雲提供商託管的 Kubernetes 產品的內建身份驗證。這些提供商已釋出 kubectl 外掛以提供特定於雲的身份驗證。有關說明,請參閱以下提供商文件

(也可能存在其他原因導致出現相同的錯誤訊息,與此更改無關。)

可選的 kubectl 配置和外掛

啟用 shell 自動補全

kubectl 為 Bash、Zsh、Fish 和 PowerShell 提供自動補全支援,這可以為你節省大量打字時間。

以下是為 PowerShell 設定自動補全的步驟。

可以使用命令 kubectl completion powershell 生成 PowerShell 的 kubectl 補全指令碼。

要在所有 shell 會話中執行此操作,請將以下行新增到你的 $PROFILE 檔案中

kubectl completion powershell | Out-String | Invoke-Expression

此命令將在每次 PowerShell 啟動時重新生成自動補全指令碼。你也可以將生成的指令碼直接新增到你的 $PROFILE 檔案中。

要將生成的指令碼新增到你的 $PROFILE 檔案中,請在 powershell 提示符中執行以下行

kubectl completion powershell >> $PROFILE

重新載入 shell 後,kubectl 自動補全應該可以工作了。

配置 kuberc

有關更多資訊,請參閱 kuberc

安裝 kubectl convert 外掛

這是 Kubernetes 命令列工具 kubectl 的一個外掛,它允許你在不同的 API 版本之間轉換清單。這對於將清單遷移到較新的 Kubernetes 版本中未棄用的 API 版本特別有用。有關更多資訊,請訪問 遷移到未棄用的 API

  1. 使用命令下載最新版本

    curl.exe -LO "https://dl.k8s.io/release/v1.34.0/bin/windows/amd64/kubectl-convert.exe"
    
  2. 驗證二進位制檔案(可選)。

    下載 kubectl-convert 校驗和檔案

    curl.exe -LO "https://dl.k8s.io/v1.34.0/bin/windows/amd64/kubectl-convert.exe.sha256"
    

    根據校驗和檔案驗證 kubectl-convert 二進位制檔案

    • 使用命令提示符手動將 CertUtil 的輸出與下載的校驗和檔案進行比較

      CertUtil -hashfile kubectl-convert.exe SHA256
      type kubectl-convert.exe.sha256
      
    • 使用 PowerShell 自動化驗證,使用 -eq 運算子獲取 TrueFalse 結果

      $($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
      
  3. kubectl-convert 二進位制資料夾新增到或前置到你的 PATH 環境變數中。

  4. 驗證外掛是否成功安裝。

    kubectl convert --help
    

    如果你沒有看到錯誤,則表示外掛已成功安裝。

  5. 安裝外掛後,清理安裝檔案

    del kubectl-convert.exe
    del kubectl-convert.exe.sha256
    

下一步

上次修改時間:2025 年 5 月 15 日上午 9:23 PST:新增 kuberc 專用頁面 (edac5dbf0e)