更新时间:2025-10-11 GMT+08:00
分享

创建插件

功能介绍

创建插件实例接口用于在系统中创建一个新的插件实例。该接口适用于以下场景:当需要扩展系统功能、部署新的插件、更新现有插件配置或测试插件时,用户可通过此接口创建指定插件的实例。使用该接口的前提条件是插件已存在且用户具有管理员权限或插件管理权限。创建操作完成后,插件实例将被成功创建并处于可用状态,相关配置信息将被记录。若插件不存在、用户无权限操作、配置参数错误或系统资源不足,接口将返回相应的错误信息。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/{project_id}/pools/{pool_name}/plugins

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:用户项目ID。获取方法请参见获取项目ID和名称

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

pool_name

String

参数解释:资源池名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

apiVersion

String

参数解释:API资源类型,固定值“Plugin”,该值不可修改。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

kind

String

参数解释:API版本,固定值“v2”,该值不可修改。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

spec

PluginSpec object

参数解释:spec是集合类的元素类型,内容为插件实例安装/升级的具体请求信息。

约束限制:不涉及。

表3 PluginSpec

参数

是否必选

参数类型

描述

template

Template object

参数解释:模板信息。

约束限制:不涉及。

表4 Template

参数

是否必选

参数类型

描述

name

String

参数解释:待安装插件模板名称,如log-agent。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

version

String

参数解释:待安装、升级插件的版本号。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

inputs

Map<String,Object>

参数解释:插件模板安装参数(各插件不同),升级插件时需要填写全量安装参数,未填写参数将使用插件模板中的默认值,当前插件安装参数可通过查询插件实例接口获取。

约束限制:不涉及。

响应参数

状态码:200

表5 响应Body参数

参数

参数类型

描述

apiVersion

String

参数解释: API版本。

取值范围: 可选值如下:

  • v2

kind

String

参数解释: 插件实例的类型。

取值范围: 可选值如下:

  • Plugin:插件。

metadata

PluginMetadata object

参数解释: 插件实例的metadata信息。

spec

PluginSpec object

参数解释: 插件实例的具体信息。

status

PluginStatus object

参数解释: 插件实例的状态信息。

表6 PluginMetadata

参数

参数类型

描述

name

String

参数解释: 插件实例的名称。

取值范围: 不涉及。

creationtimestamp

String

参数解释: 创建时间。

取值范围: 不涉及。

表7 PluginSpec

参数

参数类型

描述

template

Template object

参数解释:模板信息。

约束限制:不涉及。

表8 Template

参数

参数类型

描述

name

String

参数解释:待安装插件模板名称,如log-agent。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

version

String

参数解释:待安装、升级插件的版本号。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

inputs

Map<String,Object>

参数解释:插件模板安装参数(各插件不同),升级插件时需要填写全量安装参数,未填写参数将使用插件模板中的默认值,当前插件安装参数可通过查询插件实例接口获取。

约束限制:不涉及。

表9 PluginStatus

参数

参数类型

描述

phase

String

参数解释: 插件实例的状态。

取值范围:可选值如下:

  • Pending:安装中,表示插件正在安装中。

  • Running:运行中,表示插件全部实例状态都在运行中,插件正常使用。

  • Updating:升级中,表示插件正在更新中。

  • Abnormal:不可用,表示插件状态异常,插件不可使用。可单击状态查看失败原因。

  • Deleting:删除中,表示插件正在删除中。

version

String

参数解释: 插件实例的版本。

取值范围: 不涉及。

reason

String

参数解释: 插件实例安装失败的详细信息。

取值范围: 不涉及。

values

String

参数解释: 插件实例的安装参数(各插件不同)。

取值范围: 不涉及。

resources

Array of PluginResources objects

参数解释: 插件实例占用的资源量。

表10 PluginResources

参数

参数类型

描述

involvedobject

ObjectReference object

参数解释: 插件引用的资源对象。

replicas

Integer

参数解释: 资源对象的副本数。

取值范围: 不涉及。

limits

Map<String,String>

参数解释: 申请的资源限制。

requests

Map<String,String>

参数解释: 申请的资源需求。

表11 ObjectReference

参数

参数类型

描述

kind

String

参数解释: 资源对象的API类型,例如,DaemonSet、Deployment 等。

取值范围: 不涉及。

apiVersion

String

参数解释: 资源对象的API版本。

取值范围: 不涉及。

namespace

String

参数解释: 资源对象的命名空间。

取值范围: 不涉及。

name

String

参数解释: 资源对象的名称。

取值范围: 不涉及。

uid

String

参数解释: 资源对象的唯一标识符(UID)。

取值范围: 不涉及。

resourceversion

String

参数解释: 资源对象的当前版本。

取值范围: 不涉及。

状态码:400

表12 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:ModelArts错误码。

取值范围:不涉及。

error_msg

String

参数解释:具体错误信息。

取值范围:不涉及。

请求示例

创建插件实例。

POST https://{endpoint}/v2/{project_id}/pools/{pool_name}/plugins

{
  "apiVersion" : "v2",
  "kind" : "Plugin",
  "spec" : {
    "template" : {
      "version" : "1.6.36",
      "name" : "node-local-dns"
    }
  }
}

响应示例

状态码:200

OK。

{
  "apiVersion" : "v2",
  "kind" : "Plugin",
  "spec" : {
    "template" : {
      "name" : "node-local-dns",
      "version" : "1.6.36",
      "inputs" : {
        "flavor" : {
          "description" : "High avaiable",
          "name" : "HA",
          "resources" : [ {
            "name" : "node-local-dns-admission-controller",
            "limitsCpu" : "250m",
            "requestsCpu" : "250m",
            "replicas" : 2,
            "limitsMem" : "512Mi",
            "requestsMem" : "512Mi"
          }, {
            "name" : "node-local-dns-cache",
            "limitsCpu" : "500m",
            "requestsCpu" : "25m",
            "limitsMem" : "512Mi",
            "requestsMem" : "5Mi"
          } ],
          "size" : "large"
        },
        "custom" : {
          "enable_dnsconfig_admission" : true,
          "nameserver" : "135.0.0.1",
          "ndots" : "8",
          "search" : "1321"
        }
      }
    }
  }
}

状态码:400

Bad request

{
  "error_code" : "ModelArts.50004000",
  "error_msg" : "Bad request."
}

状态码

状态码

描述

200

OK。

400

Bad request

错误码

请参见错误码

相关文档