0. 概述

在我之前的一篇文章中,我介绍了 kubectl 也是可以通过插件来扩展功能的,但是,开发插件我们不常干,使用插件倒是非常常见。那么如果寻找一个插件或者如何管理本地的插件是个比较麻烦的问题,于是乎我就找到了一款不错的工具:krew。通过 krew,你可以方便快速地寻找插件,管理插件,并且使用插件,本文就将向你介绍如何在 Linux/MacOS 系统下快速安装 krew。

1. 安装 krew

如果你和我一样也是使用的 Linux/MacOS 系统的机器的话,那么可以直接跟着我的步骤来安装,如果不是的话,那么需要移步 官方介绍 寻找安装方式。

首先,要通过 Linux/MacOS 简单安装,你需要保证系统中已经安装了 git,然后使用下面这些步骤来安装:

[[email protected]]# export temp_dir=$(mktemp -d)
[[email protected]]# pushd && cd "$temp_dir" && curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/download/v0.3.3/krew.{tar.gz,yaml}"
[[email protected]]# tar zxf krew.tar.gz
[[email protected]]# export KREWNAME=krew-$(uname | tr '[:upper:]' '[:lower:]')_amd64
[[email protected]]# ./$KREWNAME install --manifest=krew.yaml --archive=krew.tar.gz
[[email protected]]# unset KREWNAME && unset tmp_dir && popd

这样就算是安装上了,接下来就是要尝试测试一下安装的效果了。

2. 设置环境变量

在开始测试之前,为了以后的方便,这里还是先设置一下环境变量:

[[email protected]]# export PATH=$PATH:$HOME/.krew/bin

3. 测试 krew 命令

现在可以开始测试一下 krew 命令了:

[[email protected]]# kubectl krew search
F0119 22:03:45.634793   30397 root.go:58] krew local plugin index is not initialized (run "kubectl krew update")

OK,至少命令是被识别上了,但是,还有点问题,像是需要更新索引,不然不能用,那么我们就更新一下看看:

[[email protected]]# kubectl krew update
Updated the local copy of plugin index.
[[email protected]]# kubectl krew search
NAME                            DESCRIPTION                                         INSTALLED
access-matrix                   Show an RBAC access matrix for server resources     no
advise-psp                      Suggests PodSecurityPolicies for cluster.           no
... ...

看上去一切正常了,撒花。

4. Ref