回滚AddonInstance
功能介绍
将插件实例回滚到升级前的版本。只有在当前插件实例版本支持回滚到升级前的版本(status.isRollbackable为true),且插件实例状态为running(运行中)、available(可用)、abnormal(不可用)、upgradeFailed(升级失败)、rollbackFailed(回滚失败)时支持回滚。
调用方法
请参见如何调用API。
URI
POST /api/v3/addons/{id}/operation/rollback
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| id | 是 | String | 参数解释: 插件实例ID。 约束限制: 不涉及 取值范围: UUID格式,长度范围1~255位。 默认取值: 不涉及 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| clusterID | 是 | String | 参数解释: 集群ID,获取方式请参见如何获取接口URI中参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| kind | String | 参数解释: API类型,固定值"Addon",该值不可修改。 取值范围: |
| apiVersion | String | 参数解释: API版本,固定值"v3",该值不可修改。 取值范围: |
| metadata | AddonMetadata object | 参数解释: 基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 取值范围: 不涉及 |
| spec | InstanceSpec object | 参数解释: spec是集合类的元素类型,内容为插件实例具体信息,实例的详细描述主体部分都在spec中给出。 取值范围: 不涉及 |
| status | AddonInstanceStatus object | 参数解释: 插件实例状态信息。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| uid | String | 参数解释: 插件实例唯一ID标识,创建成功后系统自动生成。 取值范围: 不涉及 |
| name | String | 参数解释: 插件名称 取值范围: 不涉及 |
| alias | String | 参数解释: 插件别名。 取值范围: 不涉及 |
| labels | Map<String,String> | 参数解释: 插件标签,key/value对格式,接口保留字段,填写不会生效。 取值范围: 不涉及 |
| annotations | Map<String,String> | 参数解释: 插件注解,由key/value组成。 取值范围: |
| updateTimestamp | String | 参数解释: 更新时间 取值范围: 不涉及 |
| creationTimestamp | String | 参数解释: 创建时间,创建成功后系统自动生成,填写无效。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| clusterID | String | 参数解释: 集群ID 取值范围: 不涉及 |
| version | String | 参数解释: 插件模板版本号,如1.0.0。 取值范围: 不涉及 |
| addonTemplateName | String | 参数解释: 插件模板名称,如coredns。 取值范围: 不涉及 |
| addonTemplateType | String | 参数解释: 插件模板类型。 取值范围: |
| addonTemplateLogo | String | 参数解释: 插件模板logo图片的地址。 取值范围: 不涉及 |
| addonTemplateLabels | Array of strings | 参数解释: 插件模板所属类型。 取值范围: 不涉及 |
| description | String | 参数解释: 插件模板描述。 取值范围: 不涉及 |
| values | Map<String,Object> | 参数解释: 插件模板安装参数(各插件不同),请根据具体插件模板信息填写安装参数。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| status | String | 参数解释: 插件实例状态。 取值范围: |
| Reason | String | 参数解释: 插件安装失败原因。 取值范围: 不涉及 |
| message | String | 参数解释: 安装错误详情。 取值范围: 不涉及 |
| targetVersions | Array of strings | 参数解释: 此插件版本,支持升级的集群版本。 取值范围: 不涉及 |
| currentVersion | Versions object | 参数解释: 当前插件实例使用的具体插件版本信息。 取值范围: 不涉及 |
| isRollbackable | Boolean | 参数解释: 是否支持回滚到插件升级前的插件版本。 取值范围: |
| previousVersion | String | 参数解释: 插件升级或回滚前的版本。 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| version | String | 参数解释: 插件版本号。 取值范围: 不涉及 |
| input | Object | 参数解释: 插件安装参数。 取值范围: 不涉及 |
| stable | Boolean | 参数解释: 是否为稳定版本。 取值范围: |
| translate | Object | 参数解释: 供界面使用的翻译信息。 取值范围: 不涉及 |
| supportVersions | Array of SupportVersions objects | 参数解释: 支持集群版本号。 取值范围: 不涉及 |
| creationTimestamp | String | 参数解释: 创建时间。 取值范围: 不涉及 |
| updateTimestamp | String | 参数解释: 更新时间。 取值范围: 不涉及 |
请求示例
{
"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 | 插件实例回滚成功 |
错误码
请参见错误码。