创建插件
功能介绍
创建插件实例接口用于在系统中创建一个新的插件实例。该接口适用于以下场景:当需要扩展系统功能、部署新的插件、更新现有插件配置或测试插件时,用户可通过此接口创建指定插件的实例。使用该接口的前提条件是插件已存在且用户具有管理员权限或插件管理权限。创建操作完成后,插件实例将被成功创建并处于可用状态,相关配置信息将被记录。若插件不存在、用户无权限操作、配置参数错误或系统资源不足,接口将返回相应的错误信息。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/pools/{pool_name}/plugins
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
参数解释:用户项目ID。获取方法请参见获取项目ID和名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
pool_name |
是 |
String |
参数解释:资源池名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
apiVersion |
是 |
String |
参数解释:API资源类型,固定值“Plugin”,该值不可修改。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
kind |
是 |
String |
参数解释:API版本,固定值“v2”,该值不可修改。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
spec |
是 |
PluginSpec object |
参数解释:spec是集合类的元素类型,内容为插件实例安装/升级的具体请求信息。 约束限制:不涉及。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
apiVersion |
String |
参数解释: API版本。 取值范围: 可选值如下:
|
|
kind |
String |
参数解释: 插件实例的类型。 取值范围: 可选值如下:
|
|
metadata |
PluginMetadata object |
参数解释: 插件实例的metadata信息。 |
|
spec |
PluginSpec object |
参数解释: 插件实例的具体信息。 |
|
status |
PluginStatus object |
参数解释: 插件实例的状态信息。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
name |
String |
参数解释: 插件实例的名称。 取值范围: 不涉及。 |
|
creationtimestamp |
String |
参数解释: 创建时间。 取值范围: 不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
name |
String |
参数解释:待安装插件模板名称,如log-agent。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
version |
String |
参数解释:待安装、升级插件的版本号。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
|
inputs |
Map<String,Object> |
参数解释:插件模板安装参数(各插件不同),升级插件时需要填写全量安装参数,未填写参数将使用插件模板中的默认值,当前插件安装参数可通过查询插件实例接口获取。 约束限制:不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
phase |
String |
参数解释: 插件实例的状态。 取值范围:可选值如下:
|
|
version |
String |
参数解释: 插件实例的版本。 取值范围: 不涉及。 |
|
reason |
String |
参数解释: 插件实例安装失败的详细信息。 取值范围: 不涉及。 |
|
values |
String |
参数解释: 插件实例的安装参数(各插件不同)。 取值范围: 不涉及。 |
|
resources |
Array of PluginResources objects |
参数解释: 插件实例占用的资源量。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
involvedobject |
ObjectReference object |
参数解释: 插件引用的资源对象。 |
|
replicas |
Integer |
参数解释: 资源对象的副本数。 取值范围: 不涉及。 |
|
limits |
Map<String,String> |
参数解释: 申请的资源限制。 |
|
requests |
Map<String,String> |
参数解释: 申请的资源需求。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
kind |
String |
参数解释: 资源对象的API类型,例如,DaemonSet、Deployment 等。 取值范围: 不涉及。 |
|
apiVersion |
String |
参数解释: 资源对象的API版本。 取值范围: 不涉及。 |
|
namespace |
String |
参数解释: 资源对象的命名空间。 取值范围: 不涉及。 |
|
name |
String |
参数解释: 资源对象的名称。 取值范围: 不涉及。 |
|
uid |
String |
参数解释: 资源对象的唯一标识符(UID)。 取值范围: 不涉及。 |
|
resourceversion |
String |
参数解释: 资源对象的当前版本。 取值范围: 不涉及。 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
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 |
错误码
请参见错误码。