使用自定义插件索引
插件索引包含插件清单,它们是描述插件的安装过程的文档。为了发现目的,Krew 使用的是包含在 krew-index
存储库 中的插件的default
插件索引。
但某些插件的作者可以选择托管自己的索引,其中包含他们自己精选的 kubectl 插件。它们被称为“自定义插件索引”。
添加自定义索引
可以使用 kubectl krew index add
命令添加自定义插件索引
$ kubectl krew index add foo https://github.com/foo/custom-index.git
你可以使用的 URI 可以是任何 git 远程(例如 git@github.com:foo/custom-index.git
)。
删除自定义索引
你可以通过将添加到其上的名称传递到 index remove
命令来删除自定义插件索引
$ kubectl krew index remove foo
列出索引
要查看你已经添加了哪些索引,运行 index list
命令
$ kubectl krew index list
INDEX URL
default https://github.com/kubernetes-sigs/krew-index.git
foo https://github.com/foo/custom-index.git
从自定义索引安装插件
用于管理插件(例如 install
、upgrade
)的命令也适用于自定义索引。
在默认情况下,Krew 为插件添加一个 default/
前缀。因此,若要从自定义索引安装插件,则需要以 INDEX_NAME/PLUGIN_NAME
格式指定它。
例如,要从自定义索引 foo
安装名为 bar
的插件
$ kubectl krew install foo/bar
同样的
-
要列出所有插件(包括来自自定义索引的插件),运行
$ kubectl krew search
-
要删除插件,无需指定其索引
$ kubectl krew uninstall PLUGIN_NAME
-
要获取来自自定义索引的插件的信息
$ kubectl krew info INDEX_NAME/PLUGIN_NAME
注意:如果两个索引都包含一个具有相同名称的插件,则任何时候只能安装其中一个。
默认索引
如果你未在你的 Krew 命令中包含明确的 INDEX_NAME
前缀,则该命令将指代来自默认索引的插件。INDEX_NAME
前缀用于区分不同索引中具有相同名称的插件。
Krew 使用 krew-index
作为 default
索引发布,但可以使用 kubectl krew index remove default
命令将其删除。删除后,你可以添加一个名为 default
的另一个索引,并且其中的插件在命令中不需要 INDEX_NAME
前缀。