
# 安装插件实例 - CreateAddonInstance
#### 功能介绍
安装插件实例
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ucs/ucs_api_0026.html)。
#### URI
POST /v1/addons
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | 身份认证信息，调用接口的认证方式分为Token和AK/SK两种，如果您使用的Token方式，此参数为必填，请填写Token的值 |
| Content-Type | 是    | String | 消息体的类型（格式），仅支持application/json                                  |
   
表2请求Body参数 
| 参数         | 是否必选 | 参数类型                                                                            | 描述               |
|:---|:---|:---|:---|
| kind       | 是    | String                                                                          | API类型，必须是"Addon" |
| apiVersion | 是    | String                                                                          | API版本，必须是"v3"    |
| metadata   | 是    | [ObjectMeta] object                   | 资源元数据            |
| spec       | 否    | [AddonInstanceSpec] object     | 插件实例的期望状态        |
| status     | 否    | [AddonInstanceStatus] object | 插件实例的实际状态        |
   
 表3ObjectMeta 
| 参数                | 是否必选 | 参数类型                                                                                    | 描述                                        |
|:---|:---|:---|:---|
| uid               | 否    | String                                                                                  | 资源ID                                      |
| name              | 否    | String                                                                                  | 资源名称                                      |
| generateName      | 否    | String                                                                                  | 当未提供name时，服务器使用的前缀来生成唯一名称                 |
| namespace         | 否    | String                                                                                  | 命名空间                                      |
| labels            | 否    | Map\<String,String\>                                                                    | 标签                                        |
| annotations       | 否    | Map\<String,String\>                                                                    | 注解                                        |
| creationTimestamp | 否    | String                                                                                  | 创建时间                                      |
| updateTimestamp   | 否    | String                                                                                  | 更新时间                                      |
| resourceVersion   | 否    | String                                                                                  | 资源内部版本                                    |
| generation        | 否    | Integer                                                                                 | 资源期望状态的代数                                 |
| managedFields     | 否    | Array of [ManagedFieldsEntry] objects | 记录哪些字段由哪些工作流管理                            |
| ownerReferences   | 否    | Array of [OwnerReference] objects         | 用于定义对象间所有权关系，管理对象的依赖关系和垃圾回收机制，支持控制器对资源的管理 |
   
 表4ManagedFieldsEntry 
| 参数         | 是否必选 | 参数类型   | 描述                                       |
|:---|:---|:---|:---|
| manager    | 否    | String | 管理者的名称                                   |
| operation  | 否    | String | 记录导致此条目创建的操作类型，只能是 Apply 或 Update 两种操作类型 |
| apiVersion | 否    | String | 该管理者定义字段时所依据的资源 API 版本                   |
| time       | 否    | String | 此管理条目被创建或最后一次更新的时间戳                      |
| fieldsType | 否    | String | 固定为 "FieldsV1"，标记字段结构格式                  |
| fieldsV1   | 否    | Object | 用于存储实际被管理的字段信息                           |
   
 表5OwnerReference 
| 参数                 | 是否必选 | 参数类型    | 描述                                                                |
|:---|:---|:---|:---|
| apiVersion         | 否    | String  | 标识引用对象的API版本                                                      |
| kind               | 否    | String  | 引用对象的类型                                                           |
| name               | 否    | String  | 引用对象的名称                                                           |
| uid                | 否    | String  | 引用对象的uid                                                          |
| controller         | 否    | Boolean | 如果为true，表示该引用指向管理该资源的控制器                                          |
| blockOwnerDeletion | 否    | Boolean | 当为true且拥有者有名为"foregroundDeletion"的finalizer 时，会阻止拥有者被删除，直到这个引用被移除 |
   
 表6AddonInstanceSpec 
| 参数                  | 是否必选 | 参数类型                                                                | 描述           |
|:---|:---|:---|:---|
| clusterID           | 否    | String                                                              | cluster ID信息 |
| version             | 否    | String                                                              | 插件版本信息       |
| addonTemplateName   | 否    | String                                                              | 插件模板名称       |
| addonTemplateType   | 否    | String                                                              | 插件模板类型       |
| addonTemplateLogo   | 否    | String                                                              | 插件模板Logo     |
| addonTemplateLabels | 否    | Array of strings                                                    | 插件模板标签       |
| description         | 否    | String                                                              | 信息说明         |
| values              | 否    | Map\<String,Object\>                                                | 插件实例的配置参数    |
| parameters          | 否    | [ReleaseParams] object | 发布参数         |
| namespace           | 否    | String                                                              | 命名空间         |
   
 表7ReleaseParams 
| 参数              | 是否必选 | 参数类型    | 描述             |
|:---|:---|:---|:---|
| dry_run         | 否    | Boolean | 是否仅模拟安装过程      |
| replace         | 否    | Boolean | 是否允许重用已存在的名称   |
| recreate        | 否    | Boolean | 是否强制重新创建资源     |
| no_hooks        | 否    | Boolean | 是否禁止hook       |
| reset_values    | 否    | Boolean | 更新时重设values    |
| name_template   | 否    | String  | 发布资源的名称模板      |
| release_version | 否    | Integer | 指定回滚版本号        |
| include_hooks   | 否    | Boolean | 更新或删除时是否允许hook |
   
 表8AddonInstanceStatus 
| 参数             | 是否必选 | 参数类型                                                              | 描述     |
|:---|:---|:---|:---|
| status         | 否    | String                                                            | 状态信息   |
| Reason         | 否    | String                                                            | 变化原因信息 |
| message        | 否    | String                                                            | 变化详细信息 |
| targetVersions | 否    | Array of strings                                                  | 目标版本信息 |
| currentVersion | 否    | [AddonVersion] object | 当前版本   |
   
 表9AddonVersion 
| 参数                | 是否必选 | 参数类型                                                                            | 描述                 |
|:---|:---|:---|:---|
| id                | 否    | String                                                                          | 插件包版本id            |
| version           | 否    | String                                                                          | 插件版本信息             |
| input             | 否    | Map\<String,Object\>                                                            | 输入                 |
| stable            | 否    | Boolean                                                                         | 是否为稳定版本            |
| translate         | 否    | Map\<String,Object\>                                                            | 供界面使用的翻译信息         |
| supportVersions   | 否    | Array of [SupportVersion] objects | 支持的集群类型和和支持的集群版本信息 |
| creationTimestamp | 否    | String                                                                          | 记录创建时间             |
| updateTimestamp   | 否    | String                                                                          | 记录更新时间             |
   
 表10SupportVersion 
| 参数             | 是否必选 | 参数类型             | 描述                                         |
|:---|:---|:---|:---|
| category       | 否    | String           | 支持的集群类型                                    |
| clusterType    | 否    | String           | 支持的集群类型（BareMetal，VirtualMachine，windows等） |
| clusterVersion | 否    | Array of strings | 支持的集群版本，支持正则表达式，如".\*"匹配所有集群版本             |
   
#### 响应参数
**状态码：200**
表11响应Body参数 
| 参数         | 参数类型                                                                             | 描述               |
|:---|:---|:---|
| kind       | String                                                                           | API类型，必须是"Addon" |
| apiVersion | String                                                                           | API版本，必须是"v3"    |
| metadata   | [ObjectMeta] object                   | 资源元数据            |
| spec       | [AddonInstanceSpec] object     | 插件实例的期望状态        |
| status     | [AddonInstanceStatus] object | 插件实例的实际状态        |
   
 表12ObjectMeta 
| 参数                | 参数类型                                                                                     | 描述                                        |
|:---|:---|:---|
| uid               | String                                                                                   | 资源ID                                      |
| name              | String                                                                                   | 资源名称                                      |
| generateName      | String                                                                                   | 当未提供name时，服务器使用的前缀来生成唯一名称                 |
| namespace         | String                                                                                   | 命名空间                                      |
| labels            | Map\<String,String\>                                                                     | 标签                                        |
| annotations       | Map\<String,String\>                                                                     | 注解                                        |
| creationTimestamp | String                                                                                   | 创建时间                                      |
| updateTimestamp   | String                                                                                   | 更新时间                                      |
| resourceVersion   | String                                                                                   | 资源内部版本                                    |
| generation        | Integer                                                                                  | 资源期望状态的代数                                 |
| managedFields     | Array of [ManagedFieldsEntry] objects | 记录哪些字段由哪些工作流管理                            |
| ownerReferences   | Array of [OwnerReference] objects         | 用于定义对象间所有权关系，管理对象的依赖关系和垃圾回收机制，支持控制器对资源的管理 |
   
 表13ManagedFieldsEntry 
| 参数         | 参数类型   | 描述                                       |
|:---|:---|:---|
| manager    | String | 管理者的名称                                   |
| operation  | String | 记录导致此条目创建的操作类型，只能是 Apply 或 Update 两种操作类型 |
| apiVersion | String | 该管理者定义字段时所依据的资源 API 版本                   |
| time       | String | 此管理条目被创建或最后一次更新的时间戳                      |
| fieldsType | String | 固定为 "FieldsV1"，标记字段结构格式                  |
| fieldsV1   | Object | 用于存储实际被管理的字段信息                           |
   
 表14OwnerReference 
| 参数                 | 参数类型    | 描述                                                                |
|:---|:---|:---|
| apiVersion         | String  | 标识引用对象的API版本                                                      |
| kind               | String  | 引用对象的类型                                                           |
| name               | String  | 引用对象的名称                                                           |
| uid                | String  | 引用对象的uid                                                          |
| controller         | Boolean | 如果为true，表示该引用指向管理该资源的控制器                                          |
| blockOwnerDeletion | Boolean | 当为true且拥有者有名为"foregroundDeletion"的finalizer 时，会阻止拥有者被删除，直到这个引用被移除 |
   
 表15AddonInstanceSpec 
| 参数                  | 参数类型                                                                 | 描述           |
|:---|:---|:---|
| clusterID           | String                                                               | cluster ID信息 |
| version             | String                                                               | 插件版本信息       |
| addonTemplateName   | String                                                               | 插件模板名称       |
| addonTemplateType   | String                                                               | 插件模板类型       |
| addonTemplateLogo   | String                                                               | 插件模板Logo     |
| addonTemplateLabels | Array of strings                                                     | 插件模板标签       |
| description         | String                                                               | 信息说明         |
| values              | Map\<String,Object\>                                                 | 插件实例的配置参数    |
| parameters          | [ReleaseParams] object | 发布参数         |
| namespace           | String                                                               | 命名空间         |
   
 表16ReleaseParams 
| 参数              | 参数类型    | 描述             |
|:---|:---|:---|
| dry_run         | Boolean | 是否仅模拟安装过程      |
| replace         | Boolean | 是否允许重用已存在的名称   |
| recreate        | Boolean | 是否强制重新创建资源     |
| no_hooks        | Boolean | 是否禁止hook       |
| reset_values    | Boolean | 更新时重设values    |
| name_template   | String  | 发布资源的名称模板      |
| release_version | Integer | 指定回滚版本号        |
| include_hooks   | Boolean | 更新或删除时是否允许hook |
   
 表17AddonInstanceStatus 
| 参数             | 参数类型                                                               | 描述     |
|:---|:---|:---|
| status         | String                                                             | 状态信息   |
| Reason         | String                                                             | 变化原因信息 |
| message        | String                                                             | 变化详细信息 |
| targetVersions | Array of strings                                                   | 目标版本信息 |
| currentVersion | [AddonVersion] object | 当前版本   |
   
 表18AddonVersion 
| 参数                | 参数类型                                                                             | 描述                 |
|:---|:---|:---|
| id                | String                                                                           | 插件包版本id            |
| version           | String                                                                           | 插件版本信息             |
| input             | Map\<String,Object\>                                                             | 输入                 |
| stable            | Boolean                                                                          | 是否为稳定版本            |
| translate         | Map\<String,Object\>                                                             | 供界面使用的翻译信息         |
| supportVersions   | Array of [SupportVersion] objects | 支持的集群类型和和支持的集群版本信息 |
| creationTimestamp | String                                                                           | 记录创建时间             |
| updateTimestamp   | String                                                                           | 记录更新时间             |
   
 表19SupportVersion 
| 参数             | 参数类型             | 描述                                         |
|:---|:---|:---|
| category       | String           | 支持的集群类型                                    |
| clusterType    | String           | 支持的集群类型（BareMetal，VirtualMachine，windows等） |
| clusterVersion | Array of strings | 支持的集群版本，支持正则表达式，如".\*"匹配所有集群版本             |
   
**状态码：400**
表20响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：500**
表21响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
#### 请求示例
安装插件实例
```
POST https:///ucs.myhuaweicloud.com/v1/addons
{
  "kind" : "Addon",
  "apiVersion" : "v3",
  "metadata" : {
    "annotations" : {
      "addon.install/type" : "install"
    }
  },
  "spec" : {
    "clusterID" : "0ddf73d6-7427-11f0-bf90-0255ac100b09",
    "version" : "1.19.6",
    "addonTemplateName" : "volcano",
    "values" : {
      "basic" : {
        "platform" : "linux-amd64",
        "swr_addr" : "",
        "swr_user" : "hwofficial",
        "rbac_enabled" : true,
        "cluster_version" : "v1.31"
      },
      "flavor" : {
        "description" : "For 50 nodes, 5000 pods in cluster",
        "name" : "Node50",
        "recommend_cluster_flavor_types" : [ "small" ],
        "resources" : [ {
          "name" : "volcano-scheduler",
          "limitsCpu" : "2000m",
          "requestsCpu" : "500m",
          "replicas" : 2,
          "limitsMem" : "2000Mi",
          "requestsMem" : "500Mi"
        }, {
          "name" : "volcano-controller",
          "limitsCpu" : "2000m",
          "requestsCpu" : "500m",
          "replicas" : 2,
          "limitsMem" : "2000Mi",
          "requestsMem" : "500Mi"
        }, {
          "name" : "volcano-admission",
          "limitsCpu" : "500m",
          "requestsCpu" : "200m",
          "replicas" : 2,
          "limitsMem" : "500Mi",
          "requestsMem" : "500Mi"
        } ],
        "size" : "small",
        "category" : [ "CCE", "Turbo" ]
      }
    }
  }
}
```
#### 响应示例
**状态码：200**
返回插件实例信息
```
{
  "kind" : "Addon",
  "apiVersion" : "v3",
  "metadata" : {
    "uid" : "4972d9b2-59ed-4735-bba0-4bb1cf30f90d",
    "name" : "volcano",
    "creationTimestamp" : "2025-10-17T03:52:52Z",
    "updateTimestamp" : "2025-10-17T03:52:52Z"
  },
  "spec" : {
    "clusterID" : "0ddf73d6-7427-11f0-bf90-0255ac100b09",
    "version" : "1.19.6",
    "addonTemplateName" : "volcano",
    "addonTemplateType" : "helm",
    "addonTemplateLogo" : "https://xxxxxx.svg",
    "addonTemplateLabels" : [ "ContainerSchedulerAndElasticity" ],
    "description" : "Volcano is a batch system built on Kubernetes. It provides a suite of mechanisms currently missing from Kubernetes that are commonly required by many classes of batch & elastic workload including machine learning/deep learning, bioinformatics/genomics, other big data applications.",
    "values" : {
      "basic" : {
        "cluster_version" : "v1.31",
        "platform" : "linux-amd64",
        "rbac_enabled" : true,
        "swr_addr" : "",
        "swr_user" : "hwofficial"
      },
      "flavor" : {
        "category" : [ "CCE", "Turbo" ],
        "description" : "For 50 nodes, 5000 pods in cluster",
        "name" : "Node50",
        "recommend_cluster_flavor_types" : [ "small" ],
        "resources" : [ {
          "limitsCpu" : "2000m",
          "limitsMem" : "2000Mi",
          "name" : "volcano-scheduler",
          "replicas" : 2,
          "requestsCpu" : "500m",
          "requestsMem" : "500Mi"
        }, {
          "limitsCpu" : "2000m",
          "limitsMem" : "2000Mi",
          "name" : "volcano-controller",
          "replicas" : 2,
          "requestsCpu" : "500m",
          "requestsMem" : "500Mi"
        }, {
          "limitsCpu" : "500m",
          "limitsMem" : "500Mi",
          "name" : "volcano-admission",
          "replicas" : 2,
          "requestsCpu" : "200m",
          "requestsMem" : "500Mi"
        } ],
        "size" : "small"
      }
    }
  },
  "status" : {
    "status" : "installing",
    "Reason" : "",
    "message" : "",
    "targetVersions" : null
  }
}
```
#### 状态码
| 状态码 | 描述                |
|:---|:---|
| 200 | 返回插件实例信息          |
| 400 | 客户端请求错误，服务器无法执行请求 |
| 500 | 服务器内部错误           |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ucs/ErrorCode.html)。
