2.4. 使用插件扩展 OpenShift CLI
您可以针对默认的oc
命令编写并安装插件,从而可以使用OpenShift Container Platform CLI执行新的及更复杂的任务。
2.4.1. 编写CLI插件
您可以使用任何可以编写命令行命令的编程语言或脚本为OpenShift Container Platform CLI编写插件。请注意,您不能使用插件来覆盖现有的oc
命令。
重要
OpenShift CLI插件目前是技术预览功能。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关详细信息,请参阅红帽技术预览功能支持范围 。
流程
此过程创建一个简单的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
命令调用它。
其它资源
- 查看 Sample plug-in repository 中使用 Go 编写的插件示例。
- 查看 CLI runtime repository 中的一组用来帮助使用 Go 编写插件的工具程序。