使用插件扩展 ACP CLI

您可以编写并安装插件,以扩展默认的 ac 命令,从而使您能够通过 ACP CLI 和 ACP 平台集成执行新的、更复杂的任务。

目录

编写 CLI 插件

您可以使用任何支持编写命令行命令的编程语言或脚本为 ACP CLI(ac)编写插件。请注意,插件不能覆盖已有的 ac 命令。

创建一个简单插件

此操作步骤创建一个简单的 Bash 插件,当执行 ac foo 命令时,会在终端打印一条消息。

操作步骤

  1. 创建一个名为 ac-foo 的文件。命名插件文件时,请注意以下几点:

    • 文件必须以 ac-kubectl- 开头,才能被识别为插件
    • 文件名决定调用插件的命令。例如,文件名为 ac-foo-bar 的插件可以通过命令 ac foo bar 调用
    • 如果希望命令中包含连字符,也可以使用下划线。例如,文件名为 ac-foo_bar 的插件可以通过命令 ac foo-bar 调用
  2. 将以下内容添加到该文件:

    #!/bin/bash
    
    # 可选参数处理
    if [[ "$1" == "version" ]]; then
        echo "1.0.0"
        exit 0
    fi
    
    # 可选参数处理
    if [[ "$1" == "config" ]]; then
        echo $KUBECONFIG
        exit 0
    fi
    
    echo "I am a plugin named ac-foo"

    安装此插件后,可以通过 ac foo 命令调用它。

插件开发要求

  • 编程语言:使用任何支持命令行接口的编程语言或脚本
  • 命名规范:插件文件必须遵循 ac-<plugin-name>kubectl-<plugin-name> 命名模式
  • 可执行权限:插件文件必须具有可执行权限
  • 命令覆盖:插件不能覆盖已有的 ACP CLI 命令
  • 参数处理:插件应适当处理标准命令行参数和标志

其他资源

  • 查看 kubectl 插件开发指南,了解实现模式和最佳实践
  • 使用 Go 语言的 CLI 运行时工具进行插件开发
  • 设计与集群资源交互的插件时,考虑 ACP 平台集成

安装和使用 CLI 插件

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

前提条件

  • 已安装 ACP CLI(ac)
  • 拥有以 ac-kubectl- 开头的 CLI 插件文件

安装操作步骤

  1. 如有必要,更新插件文件为可执行:

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

    sudo mv <plugin_file> /usr/local/bin/
  3. 运行 ac plugin list,确保插件已列出:

    ac plugin list

    示例输出

    The following compatible plugins are available:
    
    /usr/local/bin/<plugin_file>

    如果插件未列出,请确认文件名以 ac-kubectl- 开头,具有可执行权限,并且在 PATH 中。

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

    例如,如果您构建并安装了 ac-ns 插件,可以使用以下命令查看当前命名空间:

    ac ns

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