kubectl 插件简介
kubectl
插件是指能够由 kubectl
调用的外部独立应用程序,这类应用程序都以 kubectl-<plugin_name>
格式命名,表现为 plugin_name
是 kubectl
的子命令。例如,应用程序 /usr/bin/kubectl-whoami
就是 whoami
插件,我们可以使用 kubectl whoami
的格式来运行它。因此,可为 kubectl
插件添加新的可用子命令,丰富 kubectI
的功能。
插件程序能够从 kubectl
继承环境信息,但 kubectl
的插件机制并不会在该程序及调用的外部程序之间传递任何信息,它仅仅提供了调用外部程序的一个统一接口, 于是我们可以使用任何熟悉的脚本语言或编程语言来开发 kubectl
插件,但最终的脚本或程序文件需要以 kubectl-
为名称前缀。而安装插件的过程,也不过是将插件程序的可执行文件移动到系统的 PATH
环境变量上,指向任一路径即可。事实上,kubectl plugin list
命令可遍历 PATH
环境变量指向的每一个路径,搜索并列出每一个以 kubectl-
为前缀的可执行程序文件路径。
插件管理工具 - Krew
Kubernetes SIG CLI 社区还提供了一个插件管理器 —— Krew, 它能够帮助用户打包、分发、查找、安装和管理 kubectl
插件,项目地址为:
Krew 以跨平台的方式打包和分发插件,因此单一打包格式即能适配主流的系统平台(Linux、Windows 或 macOS 等)。为了便于插件分发,Krew 还维护有一个插件索引,以方便用户发现主流的可用插件。
Krew 自身也表现为 kubectl
的一个插件,需要以手动方式独立安装。
Krew 安装
下面的 shell 命令集能自动完成 Krew 插件的安装,它仅适用于类 UNIX 系统平台,并以 bash 解释器运行,其他平台上的部署方式请参考上面项目地址的官方文档。
安装完成后添加 $HOME/.krew/bin
到 PATH
环境变量:
查看 kubectl
插件列表确认 Krew 安装完成:
Krew 基本使用
Krew 的使用其实和 yum
、apt
这些包管理工具差不多,只不过它是作为 kubectl
的子命令使用而已,这里就简单列一下常用的命令:
其实目前插件的数量也不是很多,为避免占用文章篇幅,我这里就直接通过如下命令查看插件的数量了,可以看到也就一百来个。
我使用的插件
我自己有安装的插件有如下:
要安装上述插件只需要执行下面命令:
插件效果展示
下面就随便挑几个插件展示一下效果啦。。
- ns
- status
- tail
还有很多优秀的插件我这里没有演示。。可以看到使用其实很简单,多用 --help
你就会了~
评论区