在 Windows 上安装和设置 kubectl

开始之前

您必须使用与集群次版本差异在一个版本内的 kubectl 版本。 例如,v1.32 客户端可以与 v1.31、v1.32 和 v1.33 控制平面通信。 使用最新兼容版本的 kubectl 有助于避免不可预见的问题。

在 Windows 上安装 kubectl

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

在 Windows 上安装 kubectl 二进制文件(通过直接下载或 curl)

  1. 您有两种在 Windows 设备上安装 kubectl 的选择

    • 直接下载

      访问 Kubernetes 发布页面,直接下载适用于您的特定架构的最新 1.32 补丁版本二进制文件。请务必选择适合您架构的正确二进制文件(例如,amd64、arm64 等)。

    • 使用 curl

      如果您安装了 curl,请使用此命令

      curl.exe -LO "https://dl.k8s.io/release/v1.32.0/bin/windows/amd64/kubectl.exe"
      
  2. 验证二进制文件(可选)

    下载 kubectl 校验和文件

    curl.exe -LO "https://dl.k8s.io/v1.32.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 设置自动补全的步骤。

PowerShell 的 kubectl 完成脚本可以使用命令 kubectl completion powershell 生成。

要在所有 shell 会话中执行此操作,请将以下行添加到您的 $PROFILE 文件

kubectl completion powershell | Out-String | Invoke-Expression

此命令将在每次 PowerShell 启动时重新生成自动补全脚本。您也可以直接将生成的脚本添加到您的 $PROFILE 文件中。

要将生成的脚本添加到您的 $PROFILE 文件中,请在您的 powershell 提示符中运行以下行

kubectl completion powershell >> $PROFILE

重新加载您的 shell 后,kubectl 自动补全应该可以工作了。

安装 kubectl convert 插件

Kubernetes 命令行工具 kubectl 的一个插件,允许您在不同的 API 版本之间转换清单。这对于使用较新的 Kubernetes 版本将清单迁移到非弃用的 API 版本特别有用。有关更多信息,请访问 迁移到非弃用的 API

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

    curl.exe -LO "https://dl.k8s.io/release/v1.32.0/bin/windows/amd64/kubectl-convert.exe"
    
  2. 验证二进制文件(可选)。

    下载 kubectl-convert 校验和文件

    curl.exe -LO "https://dl.k8s.io/v1.32.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
    

下一步

上次修改时间:2024年8月25日,太平洋标准时间上午8:53:更新 kubectl 下载选项 (bf96dbe898)