Kubernetes 版本发展迅速,我们可能会发现自己管理的集群相差 4 或 5 个次要版本。而且由于升级 K8s 不是一项简单的任务,我们将一直在追赶一些集群。

例如,现在我必须同时使用 1.18 集群和 1.22 集群,这很痛苦,因为您用于访问集群的 kubectl 版本最多只能相差一个小版本:skew ≤ 1。但在我的情况是 skew = 4,这意味着我需要为每个集群使用不同的 kubectl 二进制文件。

直接管理这些二进制文件是不可能的,这不是一个干净的解决方案。相反,我们使用“asdf”工具版本管理器。

  • 安装 asdf
  • 安装 asdf kubectl 插件
  • 在访问特定集群之前,我们请求 asdf 以启用正确的 kubectl 版本

步骤

asdf 安装

参考 下载 asdf

# Clone the asdf Github Repository to ~/.asdf
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2
# Add the following lines to ~/.bashrc if on Linux.
# Or to ~/.bash_profile if on MacOS.
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash

Kubectl 插件安装

参考 asdf kubectl

# Install the kubectl plugin.
asdf plugin-add kubectl
# Install specific versions of kubectl as needed.
asdf install kubectl 1.18.20
asdf install kubectl 1.22.10

使用 asdf

要启用 1.18 访问,请运行:

# To enable 1.18 access, run:
asdf global kubectl 1.18.20
# To enable 1.22 access, run:
asdf global kubectl 1.22.10

在多人共享一台机器的情况下,使用local而不是global同时使用多个版本的 kubectl。

asdf local kubectl 1.18.20
asdf local kubectl 1.22.10

交流

请关注WX【进击云原生】,了解更多咨询,更有海量资源供您学习

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐