#!/bin/bash
# optional argument handling
if [[ "$1" == "version" ]]
then
echo "1.0.0"
exit 0
fi
# optional argument handling
if [[ "$1" == "config" ]]
then
echo $KUBECONFIG
exit 0
fi
echo "I am a plugin named kubectl-foo"
您可以编写和安装插件来扩展默认的 oc
命令,从而可以使用 OpenShift CLI 执行新的和更复杂的任务。
您可以使用任何允许编写命令行命令的编程语言或脚本为 OpenShift CLI 编写插件。请注意,您不能使用插件覆盖现有的 oc
命令。
此步骤创建一个简单的 Bash 插件,当发出 oc foo
命令时,它会向终端打印一条消息。
创建一个名为 oc-foo
的文件。
命名插件文件时,请记住以下几点
该文件必须以 oc-
或 kubectl-
开头才能被识别为插件。
文件名决定调用插件的命令。例如,文件名 为 oc-foo-bar
的插件可以通过 oc foo bar
命令调用。如果希望命令包含短划线,也可以使用下划线。例如,文件名 为 oc-foo_bar
的插件可以通过 oc foo-bar
命令调用。
将以下内容添加到文件中。
#!/bin/bash
# optional argument handling
if [[ "$1" == "version" ]]
then
echo "1.0.0"
exit 0
fi
# optional argument handling
if [[ "$1" == "config" ]]
then
echo $KUBECONFIG
exit 0
fi
echo "I am a plugin named kubectl-foo"
为 CLI 安装此插件后,可以使用 oc foo
命令调用它。
查看 示例插件存储库,了解用 Go 编写的插件示例。
查看 CLI 运行时存储库,了解一组用于辅助编写 Go 插件的实用程序。
为 OpenShift CLI 编写自定义插件后,必须先安装插件才能使用。
您必须安装 oc
CLI 工具。
您必须有一个以 oc-
或 kubectl-
开头的 CLI 插件文件。
如有必要,更新插件文件使其可执行。
$ chmod +x <plugin_file>
将文件放置在 PATH
中的任何位置,例如 /usr/local/bin/
。
$ sudo mv <plugin_file> /usr/local/bin/.
运行 oc plugin list
以确保列出了该插件。
$ oc plugin list
The following compatible plugins are available:
/usr/local/bin/<plugin_file>
如果此处未列出您的插件,请验证该文件是否以 oc-
或 kubectl-
开头,是否可执行以及是否在您的 PATH
中。
调用插件引入的新命令或选项。
例如,如果您从 示例插件存储库构建并安装了 kubectl-ns
插件,则可以使用以下命令查看当前命名空间。
$ oc ns
请注意,调用插件的命令取决于插件文件名。例如,文件名 为 oc-foo-bar
的插件通过 oc foo bar
命令调用。