更新时间:2026-09-30 GMT+08:00

更新AddonInstance

功能介绍

更新插件实例的功能。

调用方法

请参见如何调用API。

URI

PUT /api/v3/addons/{id}

表1 路径参数

参数

是否必选

参数类型

描述

id

是

String

参数解释:

插件实例ID。

约束限制:

不涉及

取值范围:

UUID格式,长度范围1~255位。

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

是

String

参数解释:

消息体的类型(格式),默认为application/json,有其他取值时会在具体接口中专门说明。

约束限制:

GET方法不做校验

取值范围:

不涉及

默认取值:

不涉及

X-Auth-Token

是

String

参数解释:

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

kind

是

String

参数解释:

API类型,固定值"Addon",该值不可修改,该字段传入无效。

约束限制:

该值不可修改

取值范围:

  • Addon

默认取值:

Addon

apiVersion

是

String

参数解释:

API版本,固定值"v3",该值不可修改,该字段传入无效。

约束限制:

该值不可修改

取值范围:

  • v3

默认取值:

v3

metadata

是

AddonMetadata object

参数解释:

插件基本信息,集合类的元素类型,包含一组由不同名称定义的属性。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

spec

是

InstanceRequestSpec object

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表4 AddonMetadata

参数

是否必选

参数类型

描述

uid

否

String

参数解释:

插件实例唯一ID标识,创建成功后系统自动生成。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

name

否

String

参数解释:

插件名称

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

alias

否

String

参数解释:

插件别名。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

labels

否

Map<String,String>

参数解释:

插件标签,key/value对格式,接口保留字段,填写不会生效。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

annotations

否

Map<String,String>

参数解释:

插件注解,由key/value组成。

约束限制:

不涉及

取值范围:

  • 安装时固定值为{"addon.install/type":"install"}

  • 升级时固定值为{"addon.upgrade/type":"upgrade"}

默认取值:

不涉及

updateTimestamp

否

String

参数解释:

更新时间

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

creationTimestamp

否

String

参数解释:

创建时间,创建成功后系统自动生成,填写无效。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表5 InstanceRequestSpec

参数

是否必选

参数类型

描述

version

否

String

参数解释:

待安装、升级插件的版本号,例如1.0.0。

约束限制:

  • 安装:该参数非必传,如果不传,匹配集群支持的最新版本。

  • 升级:该参数必传,需指定版本号。

取值范围:

不涉及

默认取值:

不涉及

clusterID

是

String

参数解释:

集群ID

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

values

是

Map<String,Object>

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

addonTemplateName

是

String

参数解释:

待安装插件模板名称,如coredns。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

kind

String

参数解释:

API类型,固定值"Addon",该值不可修改。

取值范围:

  • Addon

apiVersion

String

参数解释:

API版本,固定值"v3",该值不可修改。

取值范围:

  • v3

metadata

AddonMetadata object

参数解释:

基本信息,为集合类的元素类型,包含一组由不同名称定义的属性

取值范围:

不涉及

spec

InstanceSpec object

参数解释:

spec是集合类的元素类型,内容为插件实例具体信息,实例的详细描述主体部分都在spec中给出。

取值范围:

不涉及

status

AddonInstanceStatus object

参数解释:

插件实例状态信息。

取值范围:

不涉及

表7 AddonMetadata

参数

参数类型

描述

uid

String

参数解释:

插件实例唯一ID标识,创建成功后系统自动生成。

取值范围:

不涉及

name

String

参数解释:

插件名称

取值范围:

不涉及

alias

String

参数解释:

插件别名。

取值范围:

不涉及

labels

Map<String,String>

参数解释:

插件标签,key/value对格式,接口保留字段,填写不会生效。

取值范围:

不涉及

annotations

Map<String,String>

参数解释:

插件注解,由key/value组成。

取值范围:

  • 安装时固定值为{"addon.install/type":"install"}

  • 升级时固定值为{"addon.upgrade/type":"upgrade"}

updateTimestamp

String

参数解释:

更新时间

取值范围:

不涉及

creationTimestamp

String

参数解释:

创建时间,创建成功后系统自动生成,填写无效。

取值范围:

不涉及

表8 InstanceSpec

参数

参数类型

描述

clusterID

String

参数解释:

集群ID

取值范围:

不涉及

version

String

参数解释:

插件模板版本号,如1.0.0。

取值范围:

不涉及

addonTemplateName

String

参数解释:

插件模板名称,如coredns。

取值范围:

不涉及

addonTemplateType

String

参数解释:

插件模板类型。

取值范围:

  • helm:表示使用Helm包进行部署的模板类型

  • static:表示静态模板类型

addonTemplateLogo

String

参数解释:

插件模板logo图片的地址。

取值范围:

不涉及

addonTemplateLabels

Array of strings

参数解释:

插件模板所属类型。

取值范围:

不涉及

description

String

参数解释:

插件模板描述。

取值范围:

不涉及

values

Map<String,Object>

参数解释:

插件模板安装参数(各插件不同),请根据具体插件模板信息填写安装参数。

取值范围:

不涉及

表9 AddonInstanceStatus

参数

参数类型

描述

status

String

参数解释:

插件实例状态。

取值范围:

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

  • abnormal:不可用,表示插件状态异常,插件不可使用。可单击插件名称查看实例异常事件。

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

  • installFailed:安装失败,表示插件安装失败,需要卸载后重新安装。

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

  • upgradeFailed:升级失败,表示插件升级失败,可重试升级或卸载后重新安装。

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

  • deleteFailed:删除失败,表示插件删除失败,可重试卸载。

  • deleteSuccess:删除成功,表示插件删除成功。

  • available:部分就绪,表示插件下只有部分实例状态为运行中,插件部分功能可用。

  • rollbacking:回滚中,表示插件正在回滚中。

  • rollbackFailed:回滚失败,表示插件回滚失败,可重试回滚或卸载后重新安装。

  • unknown:未知状态,表示插件模板实例不存在。

Reason

String

参数解释:

插件安装失败原因。

取值范围:

不涉及

message

String

参数解释:

安装错误详情。

取值范围:

不涉及

targetVersions

Array of strings

参数解释:

此插件版本,支持升级的集群版本。

取值范围:

不涉及

currentVersion

Versions object

参数解释:

当前插件实例使用的具体插件版本信息。

取值范围:

不涉及

isRollbackable

Boolean

参数解释:

是否支持回滚到插件升级前的插件版本。

取值范围:

  • true:支持回滚

  • false:不支持回滚

previousVersion

String

参数解释:

插件升级或回滚前的版本。

取值范围:

不涉及

表10 Versions

参数

参数类型

描述

version

String

参数解释:

插件版本号。

取值范围:

不涉及

input

Object

参数解释:

插件安装参数。

取值范围:

不涉及

stable

Boolean

参数解释:

是否为稳定版本。

取值范围:

  • true:稳定版本

  • false:非稳定版本

translate

Object

参数解释:

供界面使用的翻译信息。

取值范围:

不涉及

supportVersions

Array of SupportVersions objects

参数解释:

支持集群版本号。

取值范围:

不涉及

creationTimestamp

String

参数解释:

创建时间。

取值范围:

不涉及

updateTimestamp

String

参数解释:

更新时间。

取值范围:

不涉及

表11 SupportVersions

参数

参数类型

描述

clusterType

String

参数解释:

支持的集群类型。

取值范围:

  • VirtualMachine:CCE集群,控制节点架构为X86

  • BareMetal:裸金属集群,控制节点部署在裸金属服务器上

clusterVersion

Array of strings

参数解释:

支持的集群版本(正则表达式)。

取值范围:

不涉及

category

Array of strings

参数解释:

作用的集群类型。

取值范围:

  • CCE:CCE Standard集群

  • Turbo:CCE Turbo集群

请求示例

更新everest插件,更新后的插件版本为2.1.30。

{
  "kind" : "Addon",
  "apiVersion" : "v3",
  "metadata" : {
    "annotations" : {
      "addon.upgrade/type" : "upgrade"
    }
  },
  "spec" : {
    "clusterID" : "*****",
    "version" : "2.1.30",
    "addonTemplateName" : "everest",
    "values" : {
      "basic" : {
        "bms_url" : "*****",
        "driver_init_image_version" : "2.1.30",
        "ecsEndpoint" : "*****",
        "everest_image_version" : "2.1.30",
        "evs_url" : "*****",
        "iam_url" : "*****",
        "ims_url" : "*****",
        "obs_url" : "*****",
        "platform" : "linux-amd64",
        "sfs30_url" : "*****",
        "sfs_turbo_url" : "*****",
        "sfs_url" : "*****",
        "supportHcs" : false,
        "swr_addr" : "*****",
        "swr_user" : "hwofficial",
        "rbac_enabled" : true,
        "cluster_version" : "v1.23"
      },
      "flavor" : {
        "description" : "High available",
        "name" : "HA",
        "replicas" : 2,
        "resources" : [ {
          "limitsCpu" : "250m",
          "limitsMem" : "2000Mi",
          "name" : "everest-csi-controller",
          "requestsCpu" : "250m",
          "requestsMem" : "1500Mi"
        }, {
          "limitsCpu" : "500m",
          "limitsMem" : "300Mi",
          "name" : "everest-csi-driver",
          "requestsCpu" : "100m",
          "requestsMem" : "300Mi"
        } ],
        "category" : [ "CCE", "Turbo" ]
      },
      "custom" : {
        "cluster_id" : "*****",
        "csi_attacher_detach_worker_threads" : "60",
        "csi_attacher_worker_threads" : "60",
        "default_vpc_id" : "*****",
        "disable_auto_mount_secret" : false,
        "enable_node_attacher" : true,
        "flow_control" : { },
        "multiAZEnabled" : false,
        "over_subscription" : "80",
        "project_id" : "*****",
        "volume_attaching_flow_ctrl" : "0"
      }
    }
  }
}

响应示例

状态码:200

表示更新插件实例成功。

{
  "kind" : "Addon",
  "apiVersion" : "v3",
  "metadata" : {
    "uid" : "******",
    "name" : "everest",
    "alias" : "everest",
    "creationTimestamp" : "2023-07-03T10:57:43Z",
    "updateTimestamp" : "2023-07-03T11:24:05Z"
  },
  "spec" : {
    "clusterID" : "******",
    "version" : "2.1.30",
    "addonTemplateName" : "everest",
    "addonTemplateType" : "helm",
    "addonTemplateLogo" : "******",
    "addonTemplateLabels" : [ "Storage" ],
    "description" : "",
    "values" : {
      "basic" : {
        "bms_url" : "******",
        "cluster_version" : "v1.23",
        "driver_init_image_version" : "2.1.30",
        "ecsEndpoint" : "******",
        "everest_image_version" : "2.1.30",
        "evs_url" : "******",
        "iam_url" : "******",
        "ims_url" : "******",
        "obs_url" : "******",
        "platform" : "linux-amd64",
        "rbac_enabled" : true,
        "sfs30_url" : "******",
        "sfs_turbo_url" : "******",
        "sfs_url" : "******",
        "supportHcs" : false,
        "swr_addr" : "******",
        "swr_user" : "hwofficial"
      },
      "custom" : {
        "cluster_id" : "******",
        "cluster_version" : "v1.23.8-r0",
        "csi_attacher_detach_worker_threads" : "60",
        "csi_attacher_worker_threads" : "60",
        "default_vpc_id" : "******",
        "disable_auto_mount_secret" : false,
        "enable_node_attacher" : false,
        "flow_control" : { },
        "multiAZEnabled" : false,
        "over_subscription" : "80",
        "project_id" : "******",
        "volume_attaching_flow_ctrl" : "0"
      },
      "flavor" : {
        "category" : [ "CCE", "Turbo" ],
        "description" : "Has only one instance",
        "name" : "Single",
        "replicas" : 1,
        "resources" : [ {
          "limitsCpu" : "250m",
          "limitsMem" : "600Mi",
          "name" : "everest-csi-controller",
          "requestsCpu" : "250m",
          "requestsMem" : "600Mi"
        }, {
          "limitsCpu" : "100m",
          "limitsMem" : "300Mi",
          "name" : "everest-csi-driver",
          "requestsCpu" : "100m",
          "requestsMem" : "300Mi"
        } ]
      },
      "systemAutoInject" : {
        "cluster" : {
          "clusterID" : "******",
          "clusterNetworkMode" : "vpc-router",
          "clusterVersion" : "v1.23.8-r0"
        },
        "user" : {
          "projectID" : "******"
        }
      }
    }
  },
  "status" : {
    "status" : "upgrading",
    "Reason" : "addon upgrading",
    "message" : "",
    "targetVersions" : null,
    "isRollbackable" : false,
    "currentVersion" : {
      "version" : "2.1.30",
      "input" : {
        "basic" : {
          "bms_url" : "******",
          "driver_init_image_version" : "2.1.30",
          "ecsEndpoint" : "******",
          "everest_image_version" : "2.1.30",
          "evs_url" : "******",
          "iam_url" : "******",
          "ims_url" : "******",
          "obs_url" : "******",
          "platform" : "******",
          "sfs30_url" : "******",
          "sfs_turbo_url" : "******",
          "sfs_url" : "******",
          "supportHcs" : false,
          "swr_addr" : "******",
          "swr_user" : "hwofficial"
        },
        "parameters" : {
          "common" : {
            "defaultVPCId" : 1234567
          },
          "custom" : {
            "cluster_id" : "",
            "csi_attacher_detach_worker_threads" : "60",
            "csi_attacher_worker_threads" : "60",
            "default_vpc_id" : "",
            "disable_auto_mount_secret" : false,
            "enable_node_attacher" : false,
            "flow_control" : { },
            "multiAZEnabled" : false,
            "over_subscription" : "80",
            "project_id" : "",
            "volume_attaching_flow_ctrl" : "0"
          },
          "flavor1" : {
            "description" : "High available",
            "name" : "HA",
            "replicas" : 2,
            "resources" : [ {
              "limitsCpu" : "250m",
              "limitsMem" : "1500Mi",
              "name" : "everest-csi-controller",
              "requestsCpu" : "250m",
              "requestsMem" : "600Mi"
            }, {
              "limitsCpu" : "500m",
              "limitsMem" : "300Mi",
              "name" : "everest-csi-driver",
              "requestsCpu" : "100m",
              "requestsMem" : "300Mi"
            } ]
          },
          "flavor2" : {
            "description" : "Has only one instance",
            "name" : "Single",
            "replicas" : 1,
            "resources" : [ {
              "limitsCpu" : "250m",
              "limitsMem" : "600Mi",
              "name" : "everest-csi-controller",
              "requestsCpu" : "250m",
              "requestsMem" : "600Mi"
            }, {
              "limitsCpu" : "100m",
              "limitsMem" : "300Mi",
              "name" : "everest-csi-driver",
              "requestsCpu" : "100m",
              "requestsMem" : "300Mi"
            } ]
          },
          "flavor3" : {
            "description" : "custom resources",
            "name" : "custom-resources",
            "replicas" : 2,
            "resources" : [ {
              "limitsCpu" : "250m",
              "limitsMem" : "2000Mi",
              "name" : "everest-csi-controller",
              "requestsCpu" : "250m",
              "requestsMem" : "1500Mi"
            }, {
              "limitsCpu" : "500m",
              "limitsMem" : "300Mi",
              "name" : "everest-csi-driver",
              "requestsCpu" : "100m",
              "requestsMem" : "300Mi"
            } ]
          }
        }
      },
      "stable" : true,
      "translate" : {
        "en_US" : {
          "addon" : {
            "changeLog" : "",
            "description" : ""
          },
          "description" : {
            "Parameters.flavor1.description" : "Deploy the add-on with two instances, delivering high availability but requiring more compute resources.",
            "Parameters.flavor1.name" : "HA",
            "Parameters.flavor2.description" : "Deploy the add-on with one instance.",
            "Parameters.flavor2.name" : "Standalone",
            "Parameters.flavor3.name" : "Custom"
          }
        },
        "fr_FR" : {
          "addon" : {
            "changeLog" : "",
            "description" : ""
          },
          "description" : {
            "Parameters.flavor1.description" : "Déployez avec deux instances, haute disponibilité.",
            "Parameters.flavor1.name" : "HA",
            "Parameters.flavor2.description" : "Déployez avec une seule instance.",
            "Parameters.flavor2.name" : "Célibataire",
            "Parameters.flavor3.name" : "Douane"
          }
        },
        "zh_CN" : {
          "addon" : {
            "changeLog" : "",
            "description" : ""
          },
          "description" : {
            "Parameters.flavor1.description" : "双实例部署,具有高可用能力,需占用更多的计算资源。",
            "Parameters.flavor1.name" : "高可用",
            "Parameters.flavor2.description" : "单实例部署.",
            "Parameters.flavor2.name" : "单实例",
            "Parameters.flavor3.description" : "自定义资源规格部署",
            "Parameters.flavor3.name" : "自定义"
          }
        }
      },
      "supportVersions" : null,
      "creationTimestamp" : "2023-05-12T16:10:05Z",
      "updateTimestamp" : "2023-05-12T16:10:05Z"
    }
  }
}

状态码

状态码

描述

200

表示更新插件实例成功。

错误码

请参见错误码。