在 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 参考文档