使用自定义插件索引

插件索引包含插件清单,它们是描述插件的安装过程的文档。为了发现目的,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

从自定义索引安装插件

用于管理插件(例如 installupgrade)的命令也适用于自定义索引。

在默认情况下,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 前缀。

← 用户指南