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

回滚AddonInstance

功能介绍

将插件实例回滚到升级前的版本。只有在当前插件实例版本支持回滚到升级前的版本(status.isRollbackable为true),且插件实例状态为running(运行中)、available(可用)、abnormal(不可用)、upgradeFailed(升级失败)、rollbackFailed(回滚失败)时支持回滚。

调用方法

请参见如何调用API。

URI

POST /api/v3/addons/{id}/operation/rollback

表1 路径参数

参数

是否必选

参数类型

描述

id

是

String

参数解释:

插件实例ID。

约束限制:

不涉及

取值范围:

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

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

是

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

clusterID

是

String

参数解释:

集群ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

kind

String

参数解释:

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

取值范围:

  • Addon

apiVersion

String

参数解释:

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

取值范围:

  • v3

metadata

AddonMetadata object

参数解释:

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

取值范围:

不涉及

spec

InstanceSpec object

参数解释:

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

取值范围:

不涉及

status

AddonInstanceStatus object

参数解释:

插件实例状态信息。

取值范围:

不涉及

表5 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

参数解释:

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

取值范围:

不涉及

表6 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>

参数解释:

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

取值范围:

不涉及

表7 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

参数解释:

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

取值范围:

不涉及

表8 Versions

参数

参数类型

描述

version

String

参数解释:

插件版本号。

取值范围:

不涉及

input

Object

参数解释:

插件安装参数。

取值范围:

不涉及

stable

Boolean

参数解释:

是否为稳定版本。

取值范围:

  • true:稳定版本

  • false:非稳定版本

translate

Object

参数解释:

供界面使用的翻译信息。

取值范围:

不涉及

supportVersions

Array of SupportVersions objects

参数解释:

支持集群版本号。

取值范围:

不涉及

creationTimestamp

String

参数解释:

创建时间。

取值范围:

不涉及

updateTimestamp

String

参数解释:

更新时间。

取值范围:

不涉及

表9 SupportVersions

参数

参数类型

描述

clusterType

String

参数解释:

支持的集群类型。

取值范围:

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

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

clusterVersion

Array of strings

参数解释:

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

取值范围:

不涉及

category

Array of strings

参数解释:

作用的集群类型。

取值范围:

  • CCE:CCE Standard集群

  • Turbo:CCE Turbo集群

请求示例

{
  "clusterID" : "******"
}

响应示例

状态码:200

插件实例回滚成功

{
  "kind" : "Addon",
  "apiVersion" : "v3",
  "metadata" : {
    "uid" : "******",
    "name" : "everest",
    "alias" : "everest",
    "creationTimestamp" : "2023-03-15T02:48:01Z",
    "updateTimestamp" : "2023-03-15T04:18:45Z"
  },
  "spec" : {
    "clusterID" : "******",
    "version" : "2.1.16",
    "addonTemplateName" : "everest",
    "addonTemplateType" : "helm",
    "addonTemplateLogo" : "******",
    "addonTemplateLabels" : [ "Storage" ],
    "description" : "Everest is a cloud native container storage system based on CSI, used\nto support cloud storages services for Kubernetes",
    "values" : {
      "basic" : {
        "base_image" : "euleros",
        "bms_url" : "******",
        "cluster_version" : "v1.25",
        "driver_init_image_version" : "2.1.16",
        "ecsEndpoint" : "******",
        "euleros_version" : "2.2.5",
        "everest_image_version" : "2.1.16",
        "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" : "******"
      },
      "custom" : {
        "cluster_id" : "******",
        "cluster_version" : "v1.25.3-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" : "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"
        } ]
      },
      "multiAZPreferred" : {
        "podAntiAffinity" : {
          "preferredDuringSchedulingIgnoredDuringExecution" : [ {
            "podAffinityTerm" : {
              "labelSelector" : {
                "matchExpressions" : [ {
                  "key" : "app",
                  "operator" : "In",
                  "values" : [ "everest-csi-controller" ]
                } ]
              },
              "topologyKey" : "topology.kubernetes.io/zone"
            },
            "weight" : 100
          } ]
        }
      },
      "multiAZRequired" : {
        "podAntiAffinity" : {
          "requiredDuringSchedulingIgnoredDuringExecution" : [ {
            "labelSelector" : {
              "matchExpressions" : [ {
                "key" : "app",
                "operator" : "In",
                "values" : [ "everest-csi-controller" ]
              } ]
            },
            "topologyKey" : "topology.kubernetes.io/zone"
          } ]
        }
      },
      "systemAutoInject" : {
        "cluster" : {
          "category" : "CCE",
          "clusterID" : "******",
          "clusterNetworkMode" : "vpc-router",
          "clusterVersion" : "v1.25.3-r0"
        },
        "user" : {
          "projectID" : "******"
        }
      },
      "tolerations" : [ {
        "effect" : "NoExecute",
        "key" : "node.kubernetes.io/not-ready",
        "operator" : "Exists",
        "tolerationSeconds" : 60
      }, {
        "effect" : "NoExecute",
        "key" : "node.kubernetes.io/unreachable",
        "operator" : "Exists",
        "tolerationSeconds" : 60
      } ]
    }
  },
  "status" : {
    "status" : "rollbacking",
    "Reason" : "Rollback to 4",
    "message" : "",
    "targetVersions" : [ "2.1.18", "2.1.19" ],
    "isRollbackable" : false,
    "previousVersion" : "2.1.19",
    "currentVersion" : {
      "version" : "2.1.16",
      "input" : {
        "basic" : {
          "bms_url" : "******",
          "driver_init_image_version" : "2.1.16",
          "ecsEndpoint" : "******",
          "everest_image_version" : "2.1.16",
          "evs_url" : "******",
          "iam_url" : "******",
          "ims_url" : "******",
          "obs_url" : "******",
          "platform" : "linux-amd64",
          "sfs30_url" : "******",
          "sfs_turbo_url" : "******",
          "sfs_url" : "******",
          "supportHcs" : false,
          "swr_addr" : "******",
          "swr_user" : "******"
        },
        "parameters" : {
          "common" : {
            "defaultVPCId" : 0
          },
          "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" : "******",
            "Parameters.flavor1.name" : "******",
            "Parameters.flavor2.description" : "******",
            "Parameters.flavor2.name" : "******",
            "Parameters.flavor3.name" : "******"
          }
        },
        "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" : [ {
        "clusterType" : "VirtualMachine",
        "clusterVersion" : [ "v1.(30|31|32|33|34|35|36).*" ],
        "category" : [ "CCE", "Turbo" ]
      }, {
        "clusterType" : "ARM64",
        "clusterVersion" : [ "v1.(30|31|32|33|34|35|36).*" ],
        "category" : [ "CCE", "Turbo" ]
      } ],
      "creationTimestamp" : "2023-02-21T16:29:02Z",
      "updateTimestamp" : "2023-02-22T06:49:50Z"
    }
  }
}

状态码

状态码

描述

200

插件实例回滚成功

错误码

请参见错误码。