版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shida_csdn/article/details/88037784
一、前言
kubectl 提供了一种插件扩展机制,以丰富和增强其对集群的管控能力,
目前,1.13 版的 kubernetes 中,kubectl 插件扩展功能已经处于 beta 阶段。
原文介绍:https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/
二、插件加载原理
总体而言,就是在 $PATH 路径里查找 `kubectl-` 开头的可执行程序!
我们可以做个试验,简单验证下:
2.1 确认初始插件安装情况
可以看到,我们目前还没有安装任何插件
2.2 我们把 /bin/ls 拷贝一份,命名为 /bin/kubectl-ls,再看下插件情况
扫描二维码关注公众号,回复:
5451736 查看本文章
看到了吗?kubectl 已经识别到一个插件,位于 /bin/kubectl-ls
我们执行这个插件,看看效果
可以看到,当我们执行 `kubectl ls` 时,就是执行的 $PATH 里找到的 kubectl-ls 程序
基于这个原理,我们也就明白了,所谓的 kubectl 插件其实只要是一个可执行程序,就可以被当做插件使用。
一个 shell 脚本,一个二进制程序,都可以当做 kubectl 的插件来使用,只要符合 kubectl-xxx 的命名。
当然,如果要让插件更好地与 kubectl 集成,还需要其他一些配置(比如设置元数据信息),这个下次再聊!