0%

安装k8s插件 krew

kubectl插件机制在Kubernetes 1.12 开始提供,并在1.14宣布稳定,进入GA状态。kubectl的插件机制允许开发者以独立的二进制形式发布自定义的kubectl子命令。

kubectl插件可以使用任意语言开发,如可以是一个bash、python的脚本,也可以是其他语言开发编译的二进制可执行文件,只要最终将脚本或二进制可执行文件以kubectl-的前缀放到PATH中即可。使用kubectl plugin list可以在PATH中查看有哪些插件。

krew是kubectl插件的管理器,使用krew可以轻松的查找、安装和管理kubectl插件。krew自己也作为一个kubectl插件存在。

参考官方:

https://github.com/kubernetes/cli-runtime

https://github.com/kubernetes/sample-cli-plugin

安装krew

参考官方:https://krew.sigs.k8s.io/docs/user-guide/setup/install/

对于macOS和Linux,安装步骤如下:

  • 确认已安装git
  • 在终端运行以下命令,下载和安装krew
1
2
3
4
5
6
7
8
9
(
set -x; cd "$(mktemp -d)" &&
OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
KREW="krew-${OS}_${ARCH}" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
tar zxvf "${KREW}.tar.gz" &&
./"${KREW}" install krew
)
  • 添加$HOME/.krew/bin目录到PATH环境变量
1
2
3
4
5
# vim /etc/profile

export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

# source /etc/profile

验证安装

1
kubectl plugin list

升级krew

1
kubectl krew upgrade