×

您可以编写和安装插件来扩展默认的 oc 命令,从而可以使用 OpenShift CLI 执行新的和更复杂的任务。

编写 CLI 插件

您可以使用任何允许编写命令行命令的编程语言或脚本为 OpenShift CLI 编写插件。请注意,您不能使用插件覆盖现有的 oc 命令。

步骤

此步骤创建一个简单的 Bash 插件,当发出 oc foo 命令时,它会向终端打印一条消息。

  1. 创建一个名为 oc-foo 的文件。

    命名插件文件时,请记住以下几点

    • 该文件必须以 oc-kubectl- 开头才能被识别为插件。

    • 文件名决定调用插件的命令。例如,文件名 为 oc-foo-bar 的插件可以通过 oc foo bar 命令调用。如果希望命令包含短划线,也可以使用下划线。例如,文件名 为 oc-foo_bar 的插件可以通过 oc foo-bar 命令调用。

  2. 将以下内容添加到文件中。

    #!/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 命令调用它。

其他资源

安装和使用 CLI 插件

为 OpenShift CLI 编写自定义插件后,必须先安装插件才能使用。

先决条件
  • 您必须安装 oc CLI 工具。

  • 您必须有一个以 oc-kubectl- 开头的 CLI 插件文件。

步骤
  1. 如有必要,更新插件文件使其可执行。

    $ chmod +x <plugin_file>
  2. 将文件放置在 PATH 中的任何位置,例如 /usr/local/bin/

    $ sudo mv <plugin_file> /usr/local/bin/.
  3. 运行 oc plugin list 以确保列出了该插件。

    $ oc plugin list
    示例输出
    The following compatible plugins are available:
    
    /usr/local/bin/<plugin_file>

    如果此处未列出您的插件,请验证该文件是否以 oc-kubectl- 开头,是否可执行以及是否在您的 PATH 中。

  4. 调用插件引入的新命令或选项。

    例如,如果您从 示例插件存储库构建并安装了 kubectl-ns 插件,则可以使用以下命令查看当前命名空间。

    $ oc ns

    请注意,调用插件的命令取决于插件文件名。例如,文件名 为 oc-foo-bar 的插件通过 oc foo bar 命令调用。