kubectl 插件加载原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 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 集成,还需要其他一些配置(比如设置元数据信息),这个下次再聊!

猜你喜欢

转载自blog.csdn.net/shida_csdn/article/details/88037784