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

7.8 KiB
Raw Permalink Blame History

title content_type weight card
在 Linux 系统中安装并设置 kubectl task 10
name weight title
tasks 20 在 Linux 系统中安装 kubectl

{{% heading "prerequisites" %}}

kubectl 版本和集群版本之间的差异必须在一个小版本号内。 例如v1.2 版本的客户端只能与 v1.1、v1.2 和 v1.3 版本的集群一起工作。 用最新版的 kubectl 有助于避免不可预见的问题。

在 Linux 系统中安装 kubectl

在 Linux 系统中安装 kubectl 有如下几种方法:

用 curl 在 Linux 系统中安装 kubectl

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

    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    

    {{< note >}}

如需下载某个指定的版本,请用指定版本号替换该命令的这一部分: $(curl -L -s https://dl.k8s.io/release/stable.txt)

例如,要在 Linux 中下载 {{< param "fullversion" >}} 版本,请输入:

curl -LO https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/linux/amd64/kubectl

{{< /note >}}

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

    下载 kubectl 校验和文件:

    curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
    

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

    echo "$(<kubectl.sha256) kubectl" | sha256sum --check
    

    验证通过时,输出为:

    kubectl: OK
    

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

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

    {{< note >}}

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

    1. 安装 kubectl
    sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
    

    {{< note >}}

    即使你没有目标系统的 root 权限,仍然可以将 kubectl 安装到目录 ~/.local/bin 中:

    mkdir -p ~/.local/bin/kubectl
    mv ./kubectl ~/.local/bin/kubectl
    # and then add ~/.local/bin/kubectl to $PATH
    

    {{< /note >}}

    1. 执行测试,以保障你安装的版本是最新的:
    kubectl version --client
    

用原生包管理工具安装

{{< tabs name="kubectl_install" >}} {{< tab name="Ubuntu、Debian 或 HypriotOS" codelang="bash" >}} sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2 curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubectl {{< /tab >}}

{{< tab name="CentOS、RHEL 或 Fedora" codelang="bash" >}}cat < /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF yum install -y kubectl {{< /tab >}} {{< /tabs >}}

用其他包管理工具安装

{{< tabs name="other_kubectl_install" >}} {{% tab name="Snap" %}}

如果你使用的 Ubuntu 或其他 Linux 发行版,内建支持 snap 包管理工具, 则可用 snap 命令安装 kubectl。

snap install kubectl --classic
kubectl version --client

{{% /tab %}}

{{% tab name="Homebrew" %}}

如果你使用 Linux 系统,并且装了 Homebrew 包管理工具, 则可以使用这种方式安装 kubectl。

brew install kubectl
kubectl version --client

{{% /tab %}}

{{< /tabs >}}

作为谷歌云 SDK 的一部分,在 Linux 上安装

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

验证 kubectl 配置

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

kubectl 的可选配置

启用 shell 自动补全功能

kubectl 为 Bash 和 Zsh 提供自动补全功能,可以减轻许多输入的负担。

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

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

{{% heading "whatsnext" %}}

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