diff --git a/content/zh/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md b/content/zh/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md index d92055f6a3..225492631c 100644 --- a/content/zh/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md +++ b/content/zh/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md @@ -4,11 +4,9 @@ description: "在 macOS 上实现 Bash 自动补全的一些可选配置。" headless: true --- -- 如果你是用 Homebrew 安装的 kubectl([如上所述](#install-with-homebrew-on-macos)), - 那么 kubectl 补全脚本应该已经安装到目录 `/usr/local/etc/bash_completion.d/kubectl` 中了。 - 这种情况下,你什么都不需要做。 +- 如果你是用 Homebrew 安装的 kubectl(如 + [此页面](/zh/docs/tasks/install-with-homebrew-on-macos/#install-with-homebrew-on-macos) + 所描述),则kubectl 补全脚本应该已经安装到目录 `/usr/local/etc/bash_completion.d/kubectl` + 中了。这种情况下,你什么都不需要做。 - {{< note >}} - - 用 Hommbrew 安装的 bash-completion v2 会初始化 目录 `BASH_COMPLETION_COMPAT_DIR` 中的所有文件,这就是后两种方法能正常工作的原因。 - {{< /note >}} + {{< note >}} + + 用 Hommbrew 安装的 bash-completion v2 会初始化 目录 `BASH_COMPLETION_COMPAT_DIR` + 中的所有文件,这就是后两种方法能正常工作的原因。 + {{< /note >}} 总之,重新加载 shell 之后,kubectl 补全功能将立即生效。 + diff --git a/content/zh/docs/tasks/tools/install-kubectl-linux.md b/content/zh/docs/tasks/tools/install-kubectl-linux.md index 8a5f4b8b67..2357358d97 100644 --- a/content/zh/docs/tasks/tools/install-kubectl-linux.md +++ b/content/zh/docs/tasks/tools/install-kubectl-linux.md @@ -8,7 +8,6 @@ card: title: 在 Linux 系统中安装 kubectl --- ## {{% heading "prerequisites" %}} kubectl 版本和集群版本之间的差异必须在一个小版本号内。 -例如:v1.2 版本的客户端只能与 v1.1、v1.2 和 v1.3 版本的集群一起工作。 +例如:v{{< skew latestVersion >}} 版本的客户端能与 v{{< skew prevMinorVersion >}}、 +v{{< skew latestVersion >}} 和 v{{< skew nextMinorVersion >}} 版本的控制面通信。 用最新版的 kubectl 有助于避免不可预见的问题。 在 Linux 系统中安装 kubectl 有如下几种方法: -- [{{% heading "prerequisites" %}}](#{{% heading "prerequisites" %}}) -- [在 Linux 系统中安装 kubectl](#install-kubectl-on-linux) - - [用 curl 在 Linux 系统中安装 kubectl](#install-kubectl-binary-with-curl-on-linux) - - [用原生包管理工具安装](#install-using-native-package-management) - - [用其他包管理工具安装](#install-using-other-package-management) - - [作为谷歌云 SDK 的一部分,在 Linux 中安装](#install-on-linux-as-part-of-the-google-cloud-sdk) -- [验证 kubectl 配置](#verify-kubectl-configration) -- [可选的 kubectl 配置](#optional-kubectl-configurations) - - [启用 shell 自动补全功能](#enable-shell-autocompletion) -- [{{% heading "whatsnext" %}}](#{{% heading "whatsnext" %}}) + +- [用 curl 在 Linux 系统中安装 kubectl](#install-kubectl-binary-with-curl-on-linux) +- [用原生包管理工具安装](#install-using-native-package-management) +- [用其他包管理工具安装](#install-using-other-package-management) +- [作为谷歌云 SDK 的一部分,在 Linux 中安装](#install-on-linux-as-part-of-the-google-cloud-sdk) -如需下载某个指定的版本,请用指定版本号替换该命令的这一部分: `$(curl -L -s https://dl.k8s.io/release/stable.txt)`。 + For example, to download version {{< param "fullversion" >}} on Linux, type: + --> + 如需下载某个指定的版本,请用指定版本号替换该命令的这一部分: + `$(curl -L -s https://dl.k8s.io/release/stable.txt)`。 -例如,要在 Linux 中下载 {{< param "fullversion" >}} 版本,请输入: + 例如,要在 Linux 中下载 {{< param "fullversion" >}} 版本,请输入: ```bash curl -LO https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/linux/amd64/kubectl ``` {{< /note >}} - -1. 验证该可执行文件(可选步骤) + Download the kubectl checksum file: +--> +2. 验证该可执行文件(可选步骤) 下载 kubectl 校验和文件: @@ -130,10 +129,10 @@ For example, to download version {{< param "fullversion" >}} on Linux, type: 下载的 kubectl 与校验和文件版本必须相同。 {{< /note >}} - -1. 安装 kubectl + +3. 安装 kubectl ```bash sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl @@ -148,15 +147,14 @@ For example, to download version {{< param "fullversion" >}} on Linux, type: ```bash mkdir -p ~/.local/bin/kubectl mv ./kubectl ~/.local/bin/kubectl - # and then add ~/.local/bin/kubectl to $PATH + # 之后将 ~/.local/bin/kubectl 添加到 $PATH ``` - {{< /note >}} - -1. 执行测试,以保障你安装的版本是最新的: + +4. 执行测试,以保障你安装的版本是最新的: ```bash kubectl version --client @@ -169,14 +167,49 @@ For example, to download version {{< param "fullversion" >}} on Linux, type: {{< 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 + + +1. 更新 `apt` 包索引,并安装使用 Kubernetes `apt` 仓库锁需要的包: + + ```shell + sudo apt-get update + sudo apt-get install -y apt-transport-https ca-certificates curl + ``` + + +2. 下载 Google Cloud 公开签名秘钥: + + ```shell + sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg + ``` + + +3. 添加 Kubernetes `apt` 仓库: + + ```shell + echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list + ``` + + +4. 更新 `apt` 包索引,使之包含新的仓库并安装 kubectl: + + ```shell + 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 +{{< tab name="基于 Red Hat 的发行版" codelang="bash" >}} +cat < /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 @@ -199,7 +232,8 @@ yum install -y kubectl -如果你使用的 Ubuntu 或其他 Linux 发行版,内建支持 [snap](https://snapcraft.io/docs/core/install) 包管理工具, +如果你使用的 Ubuntu 或其他 Linux 发行版,内建支持 +[snap](https://snapcraft.io/docs/core/install) 包管理工具, 则可用 [snap](https://snapcraft.io/) 命令安装 kubectl。 ```shell @@ -213,7 +247,8 @@ kubectl version --client -如果你使用 Linux 系统,并且装了 [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) 包管理工具, +如果你使用 Linux 系统,并且装了 [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) +包管理工具, 则可以使用这种方式[安装](https://docs.brew.sh/Homebrew-on-Linux#install) kubectl。 ```shell @@ -239,6 +274,11 @@ kubectl version --client {{< include "included/verify-kubectl.md" >}} + ## kubectl 的可选配置 {#optional-kubectl-configurations} ### 启用 shell 自动补全功能 {#enable-shell-autocompletion} @@ -260,3 +300,4 @@ kubectl 为 Bash 和 Zsh 提供自动补全功能,可以减轻许多输入的 ## {{% heading "whatsnext" %}} {{< include "included/kubectl-whats-next.md" >}} + diff --git a/content/zh/docs/tasks/tools/install-kubectl-macos.md b/content/zh/docs/tasks/tools/install-kubectl-macos.md index bd5e670e86..ec9dcae5f8 100644 --- a/content/zh/docs/tasks/tools/install-kubectl-macos.md +++ b/content/zh/docs/tasks/tools/install-kubectl-macos.md @@ -8,7 +8,6 @@ card: title: 在 macOS 系统上安装 kubectl --- ## {{% heading "prerequisites" %}} kubectl 版本和集群之间的差异必须在一个小版本号之内。 -例如:v1.2 版本的客户端只能与 v1.1、v1.2 和 v1.3 版本的集群一起工作。 +例如:v{{< skew latestVersion >}} 版本的客户端能与 v{{< skew prevMinorVersion >}}、 +v{{< skew latestVersion >}} 和 v{{< skew nextMinorVersion >}} 版本的控制面通信。 用最新版本的 kubectl 有助于避免不可预见的问题。 在 macOS 系统上安装 kubectl 有如下方法: -- [{{% heading "prerequisites" %}}](#{{% heading "prerequisites" %}}) -- [在 macOS 系统上安装 kubectl](#install-kubectl-on-macos) - - [用 curl 在 macOS 系统上安装 kubectl](#install-kubectl-binary-with-curl-on-macos) - - [用 Homebrew 在 macOS 系统上安装](#install-with-homebrew-on-macos) - - [用 Macports 在 macOS 上安装](#install-with-macports-on-macos) - - [作为谷歌云 SDK 的一部分,在 macOS 上安装](#install-on-macos-as-part-of-the-google-cloud-sdk) -- [验证 kubectl 配置](#verify-kubectl-configuration) -- [可选的 kubectl 配置](#optional-kubectl-configurations) - - [启用 shell 自动补全功能](#enable-shell-autocompletion) -- [{{% heading "whatsnext" %}}](#{{% heading "whatsnext" %}}) + +- [用 curl 在 macOS 系统上安装 kubectl](#install-kubectl-binary-with-curl-on-macos) +- [用 Homebrew 在 macOS 系统上安装](#install-with-homebrew-on-macos) +- [用 Macports 在 macOS 上安装](#install-with-macports-on-macos) +- [作为谷歌云 SDK 的一部分,在 macOS 上安装](#install-on-macos-as-part-of-the-google-cloud-sdk) 1. 下载最新的发行版: - ```bash + {{< 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)`。 - 例如:要在 macOS 系统中下载 {{< param "fullversion" >}} 版本,则输入: + For example, to download version {{< param "fullversion" >}} on Intel macOS, type: ```bash - curl -LO https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/darwin/amd64/kubectl + curl -LO "https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/darwin/arm64/kubectl" ``` + --> + 如果需要下载某个指定的版本,用该指定版本号替换掉命令的这个部分:`$(curl -L -s https://dl.k8s.io/release/stable.txt)`。 + 例如:要为 Intel macOS 系统下载 {{< param "fullversion" >}} 版本,则输入: + + ```bash + curl -LO "https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/darwin/amd64/kubectl" + ``` + + + 对于 Apple Silicon 版本的 macOS,输入: + + ```bash + curl -LO "https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/darwin/arm64/kubectl" + ``` {{< /note >}} - -1. 验证可执行文件(可选操作) +--> +2. 验证可执行文件(可选操作) 下载 kubectl 的校验和文件: - ```bash - curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256" - ``` + {{< 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: @@ -129,29 +150,29 @@ The following methods exist for installing kubectl on macOS: 下载的 kubectl 与校验和文件版本要相同。 {{< /note >}} - -1. 将 kubectl 置为可执行文件: + +3. 将 kubectl 置为可执行文件: ```bash chmod +x ./kubectl ``` - -1. 将可执行文件 kubectl 移动到系统可寻址路径 `PATH` 内的一个位置: + +4. 将可执行文件 kubectl 移动到系统可寻址路径 `PATH` 内的一个位置: ```bash sudo mv ./kubectl /usr/local/bin/kubectl sudo chown root: /usr/local/bin/kubectl ``` - -1. 测试一下,确保你安装的是最新的版本: + +5. 测试一下,确保你安装的是最新的版本: ```bash kubectl version --client @@ -183,10 +204,10 @@ If you are on macOS and using [Homebrew](https://brew.sh/) package manager, you brew install kubernetes-cli ``` - -1. 测试一下,确保你安装的是最新的版本: + +2. 测试一下,确保你安装的是最新的版本: ```bash kubectl version --client @@ -212,10 +233,10 @@ If you are on macOS and using [Macports](https://macports.org/) package manager, sudo port install kubectl ``` - -1. 测试一下,确保你安装的是最新的版本: + +2. 测试一下,确保你安装的是最新的版本: ```bash kubectl version --client @@ -260,4 +281,5 @@ kubectl 为 Bash 和 Zsh 提供自动补全功能,这可以节省许多输入 ## {{% heading "whatsnext" %}} -{{< include "included/kubectl-whats-next.md" >}} \ No newline at end of file +{{< include "included/kubectl-whats-next.md" >}} + diff --git a/content/zh/docs/tasks/tools/install-kubectl-windows.md b/content/zh/docs/tasks/tools/install-kubectl-windows.md index 9b3c975056..43d33e7510 100644 --- a/content/zh/docs/tasks/tools/install-kubectl-windows.md +++ b/content/zh/docs/tasks/tools/install-kubectl-windows.md @@ -8,7 +8,6 @@ card: title: Windows 安装 kubectl --- ## {{% heading "prerequisites" %}} kubectl 版本和集群版本之间的差异必须在一个小版本号内。 -例如:v1.2 版本的客户端只能与 v1.1、v1.2 和 v1.3 版本的集群一起工作。 +例如:v{{< skew latestVersion >}} 版本的客户端能与 v{{< skew prevMinorVersion >}}、 +v{{< skew latestVersion >}} 和 v{{< skew nextMinorVersion >}} 版本的控制面通信。 用最新版的 kubectl 有助于避免不可预见的问题。 -### 用 PowerShell 从 PSGallery 安装 {#install-with-powershell-from-psgallery} - - -如果你工作在 Windows 平台上,且使用 [PowerShell Gallery](https://www.powershellgallery.com/) 包管理器, -则可以用 PowerShell 安装、更新 kubectl。 - - -1. 运行安装命令(确保提供了参数 `DownloadLocation`): - - ```powershell - Install-Script -Name 'install-kubectl' -Scope CurrentUser -Force - install-kubectl.ps1 [-DownloadLocation ] - ``` - - - {{< note >}} - 如果没有指定 `DownloadLocation`,`kubectl` 则会被安装到用户的 `temp` 目录下。 - {{< /note >}} - - - 安装程序创建 `$HOME/.kube`,并指示其创建配置文件。 - - -1. 测试一下,确保你安装的是最新版本: - - ```powershell - kubectl version --client - ``` - - -{{< note >}} -更新安装是通过重新运行步骤 1 中的两个命令而实现。 -{{< /note >}} - @@ -298,4 +246,5 @@ kubectl 为 Bash 和 Zsh 提供自动补全功能,可以减轻许多输入的 ## {{% heading "whatsnext" %}} -{{< include "included/kubectl-whats-next.md" >}} \ No newline at end of file +{{< include "included/kubectl-whats-next.md" >}} +