#!/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 Container Platform CLI 执行新的和更复杂的任务。
您可以使用任何允许您编写命令行命令的编程语言或脚本为 OpenShift Container Platform 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"
为 OpenShift Container Platform CLI 安装此插件后,可以使用oc foo
命令调用它。
为 OpenShift Container Platform 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
命令调用。