website/content/zh-cn/docs/tasks/tools/install-kubectl-macos.md

13 KiB
Raw Blame History

title content_type weight
在 macOS 系统上安装和设置 kubectl task 10

{{% heading "prerequisites" %}}

kubectl 版本和集群之间的差异必须在一个小版本号之内。 例如v{{< skew currentVersion >}} 版本的客户端能与 v{{< skew currentVersionAddMinor -1 >}}、 v{{< skew currentVersionAddMinor 0 >}} 和 v{{< skew currentVersionAddMinor 1 >}} 版本的控制面通信。 用最新兼容版本的 kubectl 有助于避免不可预见的问题。

在 macOS 系统上安装 kubectl

在 macOS 系统上安装 kubectl 有如下方法:

用 curl 在 macOS 系统上安装 kubectl

  1. 下载最新的发行版:

    {{< tabs name="download_binary_macos" >}} {{< tab name="Intel" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl" {{< /tab >}} {{< tab name="Apple Silicon" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl" {{< /tab >}} {{< /tabs >}}

    {{< note >}}

    如果需要下载某个指定的版本,用该指定版本号替换掉命令的这个部分:$(curl -L -s https://dl.k8s.io/release/stable.txt)。 例如:要为 Intel macOS 系统下载 {{< skew currentPatchVersion >}} 版本,则输入:

    curl -LO "https://dl.k8s.io/release/v{{< skew currentPatchVersion >}}/bin/darwin/amd64/kubectl"
    

    对于 Apple Silicon 版本的 macOS输入

    curl -LO "https://dl.k8s.io/release/v{{< skew currentPatchVersion >}}/bin/darwin/arm64/kubectl"
    

    {{< /note >}}

  1. 验证可执行文件(可选操作)

    下载 kubectl 的校验和文件:

    {{< tabs name="download_checksum_macos" >}} {{< tab name="Intel" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256" {{< /tab >}} {{< tab name="Apple Silicon" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl.sha256" {{< /tab >}} {{< /tabs >}}

    根据校验和文件,验证 kubectl

    echo "$(cat kubectl.sha256)  kubectl" | shasum -a 256 --check
    

    验证通过时,输出如下:

    kubectl: OK
    

    验证失败时,shasum 将以非零值退出,并打印如下输出:

    kubectl: FAILED
    shasum: WARNING: 1 computed checksum did NOT match
    

    {{< note >}}

    下载的 kubectl 与校验和文件版本要相同。 {{< /note >}}

  1. 将 kubectl 置为可执行文件:

    chmod +x ./kubectl
    
  1. 将可执行文件 kubectl 移动到系统可寻址路径 PATH 内的一个位置:

    sudo mv ./kubectl /usr/local/bin/kubectl
    sudo chown root: /usr/local/bin/kubectl
    

    {{< note >}}

    确保 /usr/local/bin 在你的 PATH 环境变量中。 {{< /note >}}

  1. 测试一下,确保你安装的是最新的版本:

    kubectl version --client
    

    或者使用下面命令来查看版本的详细信息:

    kubectl version --client --output=yaml
    
  1. 安装并验证 kubectl 后,删除校验和文件:

    rm kubectl.sha256
    

用 Homebrew 在 macOS 系统上安装

如果你是 macOS 系统,且用的是 Homebrew 包管理工具, 则可以用 Homebrew 安装 kubectl。

  1. 运行安装命令:

    brew install kubectl
    

    brew install kubernetes-cli
    
  1. 测试一下,确保你安装的是最新的版本:

    kubectl version --client
    

用 Macports 在 macOS 系统上安装

如果你用的是 macOS且用 Macports 包管理工具,则你可以用 Macports 安装 kubectl。

  1. 运行安装命令:

    sudo port selfupdate
    sudo port install kubectl
    
  1. 测试一下,确保你安装的是最新的版本:

    kubectl version --client
    

验证 kubectl 配置

{{< include "included/verify-kubectl.md" >}}

可选的 kubectl 配置和插件

启用 shell 自动补全功能

kubectl 为 Bash、Zsh、Fish 和 PowerShell 提供自动补全功能,可以为你节省大量的输入。

下面是为 Bash、Fish 和 Zsh 设置自动补全功能的操作步骤。

{{< tabs name="kubectl_autocompletion" >}} {{< tab name="Bash" include="included/optional-kubectl-configs-bash-mac.md" />}} {{< tab name="Fish" include="included/optional-kubectl-configs-fish.md" />}} {{< tab name="Zsh" include="included/optional-kubectl-configs-zsh.md" />}} {{< /tabs >}}

安装 kubectl convert 插件

{{< include "included/kubectl-convert-overview.md" >}}

  1. 用以下命令下载最新发行版:

    {{< tabs name="download_convert_binary_macos" >}} {{< tab name="Intel" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert" {{< /tab >}} {{< tab name="Apple Silicon" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert" {{< /tab >}} {{< /tabs >}}

  1. 验证该可执行文件(可选步骤)

    下载 kubectl-convert 校验和文件:

    {{< tabs name="download_convert_checksum_macos" >}} {{< tab name="Intel" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert.sha256" {{< /tab >}} {{< tab name="Apple Silicon" codelang="bash" >}} curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert.sha256" {{< /tab >}} {{< /tabs >}}

    基于校验和,验证 kubectl-convert 的可执行文件:

    echo "$(cat kubectl-convert.sha256)  kubectl-convert" | shasum -a 256 --check
    

    验证通过时,输出为:

    kubectl-convert: OK
    

    验证失败时,sha256 将以非零值退出,并打印输出类似于:

    kubectl-convert: FAILED
    shasum: WARNING: 1 computed checksum did NOT match
    

    {{< note >}}

    下载相同版本的可执行文件和校验和。 {{< /note >}}

  1. 使 kubectl-convert 二进制文件可执行

    chmod +x ./kubectl-convert
    
  1. 将 kubectl-convert 可执行文件移动到系统 PATH 环境变量中的一个位置。

    sudo mv ./kubectl-convert /usr/local/bin/kubectl-convert
    sudo chown root: /usr/local/bin/kubectl-convert
    

    {{< note >}}

    确保你的 PATH 环境变量中存在 /usr/local/bin。 {{< /note >}}

  1. 验证插件是否安装成功

    kubectl convert --help
    

    如果你没有看到任何错误就代表插件安装成功了。

  1. 安装插件后,清理安装文件:

    rm kubectl-convert kubectl-convert.sha256
    

在 macOS 上卸载 kubectl

根据你安装 kubectl 的方式,使用以下某种方法来卸载:

使用命令行卸载 kubectl

  1. 找到你系统上的 kubectl 可执行文件:

    which kubectl
    
  1. 移除 kubectl 可执行文件:

    sudo rm <path>
    

    <path> 替换为上一步中找到的 kubectl 可执行文件的路径。 例如,sudo rm /usr/local/bin/kubectl

使用 Homebrew 卸载 kubectl

如果你使用 Homebrew 安装了 kubectl,运行以下命令:

brew remove kubectl

{{% heading "whatsnext" %}}

{{< include "included/kubectl-whats-next.md" >}}