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 | ( |
- 添加$HOME/.krew/bin目录到PATH环境变量
1 | # vim /etc/profile |
验证安装
1 | kubectl plugin list |
升级krew
1 | kubectl krew upgrade |