在 Windows 上安裝和設定 kubectl
準備工作
你必須使用與叢集次版本號相差在一個版本之內的 kubectl 版本。例如,v1.34 客戶端可以與 v1.33、v1.34 和 v1.35 控制平面通訊。使用最新相容的 kubectl 版本有助於避免意外問題。
在 Windows 上安裝 kubectl
以下是在 Windows 上安裝 kubectl 的方法
在 Windows 上安裝 kubectl 二進位制檔案(透過直接下載或 curl)
在 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"
注意
要查詢最新穩定版本(例如,用於指令碼),請檢視 https://dl.k8s.io/release/stable.txt。驗證二進位制檔案(可選)
下載
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
運算子獲取True
或False
結果$(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256)
將
kubectl
二進位制資料夾新增到或前置到你的PATH
環境變數中。測試以確保
kubectl
的版本與下載的版本相同kubectl version --client
或者使用此命令檢視詳細版本資訊
kubectl version --client --output=yaml
注意
Docker Desktop for Windows 會將自己的kubectl
版本新增到 PATH
中。如果你之前安裝了 Docker Desktop,你可能需要將你的 PATH
條目放在 Docker Desktop 安裝程式新增的條目之前,或者刪除 Docker Desktop 的 kubectl
。使用 Chocolatey、Scoop 或 winget 在 Windows 上安裝
要在 Windows 上安裝 kubectl,你可以使用 Chocolatey 包管理器、Scoop 命令列安裝程式或 winget 包管理器。
choco install kubernetes-cli
scoop install kubectl
winget install -e --id Kubernetes.kubectl
測試以確保你安裝的版本是最新的
kubectl version --client
導航到你的主目錄
# If you're using cmd.exe, run: cd %USERPROFILE% cd ~
建立
.kube
目錄mkdir .kube
切換到你剛建立的
.kube
目錄cd .kube
配置 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 外掛以提供特定於雲的身份驗證。有關說明,請參閱以下提供商文件
- Azure AKS: kubelogin 外掛
- Google Kubernetes Engine: gke-gcloud-auth-plugin
(也可能存在其他原因導致出現相同的錯誤訊息,與此更改無關。)
可選的 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
使用命令下載最新版本
curl.exe -LO "https://dl.k8s.io/release/v1.34.0/bin/windows/amd64/kubectl-convert.exe"
驗證二進位制檔案(可選)。
下載
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
運算子獲取True
或False
結果$($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
將
kubectl-convert
二進位制資料夾新增到或前置到你的PATH
環境變數中。驗證外掛是否成功安裝。
kubectl convert --help
如果你沒有看到錯誤,則表示外掛已成功安裝。
安裝外掛後,清理安裝檔案
del kubectl-convert.exe del kubectl-convert.exe.sha256
下一步
- 安裝 Minikube
- 有關建立叢集的更多資訊,請參閱 入門指南。
- 瞭解如何啟動和暴露你的應用程式。
- 如果你需要訪問你未建立的叢集,請參閱 共享叢集訪問文件。
- 閱讀 kubectl 參考文件