一个计算机技术爱好者与学习者

0%

好好学K8S:kubectl 插件管理器 krew 安装使用说明

1. krew简介

Krew itself is a kubectl plugin that is installed and updated via Krew (yes, Krew self-hosts).

Krew 本身是一个 kubectl 的插件,同时也是一个 kubectl 的插件包管理器。
Krew 帮助我们发现插件,在我们的机器上安装和管理它们。它类似于 apt、dnf 或 brew 等工具。
当前,Krew 上提供了 200 多个 kubectl 插件。

参考文档:

2. 安装配置krew

2.1. 安装krew

2.1.1. MacOS/Linux中通用安装方法

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
)

2.1.2. MacOS中安装方法

1
2
3
4
5
uname | tr '[:upper:]' '[:lower:]'
wget https://github.com/kubernetes-sigs/krew/releases/download/v0.4.3/krew.yaml
wget https://github.com/kubernetes-sigs/krew/releases/download/v0.4.3/krew-darwin_amd64.tar.gz
tar -xzvf krew-darwin_amd64.tar.gz
./krew-darwin_amd64 install --manifest=krew.yaml --archive=krew-darwin_amd64.tar.gz

2.1.3. Linux中安装方法

1
2
3
4
5
uname | tr '[:upper:]' '[:lower:]'
wget https://github.com/kubernetes-sigs/krew/releases/download/v0.4.3/krew.yaml
wget https://github.com/kubernetes-sigs/krew/releases/download/v0.4.3/krew-linux_amd64.tar.gz
tar -xzvf krew-linux_amd64.tar.gz
./krew-linux_amd64 install --manifest=krew.yaml --archive=krew-linux_amd64.tar.gz

2.2. 添加krew到环境变量

1、~/.bashrc或者~/.bash_profile中添加PATH

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

2、使环境变量生效

1
source ~/.bashrc

2.3. 验证安装

1
kubectl krew -h

3. 使用krew

3.1. 更新本地插件索引

1
kubectl krew update

3.2. 查找插件

查找特定插件,比如 neat

1
kubectl krew search neat

查看所有可获得的插件

1
kubectl krew search

3.3. 安装插件

以安装neat为例

1
2
kubectl krew install neat
kubectl neat -h

3.4. 查看已安装的插件

1
kubectl brew list

4. 后记

除了使用krew安装kubectl插件之外,还有另外一个更加直接的办法安装kubectl插件:下载插件的二进制文件,和kubectl文件放到一起。

以安装neat为例:
1、下载并解压neat插件

1
2
wget https://github.com/itaysk/kubectl-neat/releases/download/v2.0.3/kubectl-neat_linux_amd64.tar.gz
tar -xzvf kubectl-neat_linux_amd64.tar.gz

2、和kubectl放到同一个目录

1
2
which kubectl # 看到kubectl路径为 /usr/bin/kubectl
mv kubectl-neat /usr/bin

3、使用neat插件

1
2
kubectl neat -h
kubectl get pod test -oyaml | kubectl neat
  • 本文作者: 好好学习的郝
  • 原文链接: https://www.voidking.com/dev-kubectl-krew/
  • 版权声明: 本文采用 BY-NC-SA 许可协议,转载请注明出处!源站会即时更新知识点并修正错误,欢迎访问~
  • 微信公众号同步更新,欢迎关注~