集群升级前检查
功能介绍
集群升级前检查
调用方法
请参见如何调用API。
URI
POST /autopilot/v3/projects/{project_id}/clusters/{cluster_id}/operation/precheck
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 项目ID,获取方式请参见如何获取接口URI中参数。 约束限制: 不涉及 取值范围: 账号的项目ID 默认取值: 不涉及 |
cluster_id |
是 |
String |
参数解释: 集群ID,获取方式请参见如何获取接口URI中参数。 约束限制: 不涉及 取值范围: 集群ID 默认取值: 不涉及 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
apiVersion |
是 |
String |
参数解释: API版本 约束限制: 固定值 取值范围:
|
kind |
是 |
String |
参数解释: API类型 约束限制: 固定值 取值范围:
|
spec |
是 |
PrecheckSpec object |
参数解释: spec是集合类的元素类型,您对需要升级前检查的配置信息的主体部分都在spec中给出。CCE通过spec的描述来执行检查。 约束限制: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
clusterID |
是 |
String |
参数解释: 集群ID 约束限制: 不涉及 取值范围: 不涉及 |
clusterVersion |
是 |
String |
参数解释: 集群版本,请填写当前集群的补丁版本,可登录控制台在总览页面进行查看 约束限制: 不涉及 取值范围: 不涉及 |
targetVersion |
是 |
String |
参数解释: 升级目标版本,如果填写大版本,则自动选择最新补丁版本 约束限制: 不涉及 取值范围: 高于集群当前版本的可用集群版本 |
skippedCheckItemList |
否 |
Array of skippedCheckItemList objects |
参数解释: 跳过检查的项目列表 约束限制: 不涉及 取值范围: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
否 |
String |
参数解释: 跳过检查的项目名称 约束限制: 不涉及 取值范围: 不涉及 |
resourceSelector |
否 |
resourceSelector object |
参数解释: 资源标签选择器 约束限制: 仅节点检查涉及该参数,集群检查和插件检查不涉及 取值范围: 不涉及 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
apiVersion |
String |
API版本 |
kind |
String |
资源类型 |
metadata |
升级前检查元数据 |
|
spec |
PrecheckCluserResponseSpec object |
spec是集合类的元素类型,您对需要升级前检查的配置信息的主体部分都在spec中给出。CCE通过spec的描述来执行检查。 |
status |
PrecheckStatus object |
集群升级前检查状态 |
参数 |
参数类型 |
描述 |
---|---|---|
clusterID |
String |
集群ID |
clusterVersion |
String |
当前集群版本 |
targetVersion |
String |
升级目标版本 |
skippedCheckItemList |
Array of skippedCheckItemListResponse objects |
跳过检查的项目列表 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
跳过检查的项目名称 |
resourceSelector |
resourceSelectorResponse object |
资源标签选择器,仅节点检查涉及该参数,集群检查和插件检查不涉及 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
标签键值 |
values |
Array of strings |
标签值列表 |
operator |
String |
标签值 |
参数 |
参数类型 |
描述 |
---|---|---|
phase |
String |
状态,取值如下
|
expireTimeStamp |
String |
检查结果过期时间 |
message |
String |
信息,一般是执行错误的日志信息 |
clusterCheckStatus |
clusterCheckStatus object |
集群限制检查状态 |
addonCheckStatus |
addonCheckStatus object |
插件检查状态 |
nodeCheckStatus |
nodeCheckStatus object |
节点检查状态 |
参数 |
参数类型 |
描述 |
---|---|---|
phase |
String |
状态,取值如下
|
itemsStatus |
Array of PreCheckItemStatus objects |
检查项状态集合 |
参数 |
参数类型 |
描述 |
---|---|---|
phase |
String |
状态,取值如下
|
itemsStatus |
Array of PreCheckItemStatus objects |
检查项状态集合 |
参数 |
参数类型 |
描述 |
---|---|---|
phase |
String |
状态,取值如下
|
nodeStageStatus |
Array of NodeStageStatus objects |
节点检查状态 |
参数 |
参数类型 |
描述 |
---|---|---|
nodeInfo |
NodeInfo object |
节点信息 |
itemsStatus |
Array of PreCheckItemStatus objects |
检查项状态集合 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
检查项名称 |
kind |
String |
检查项类型,取值如下
|
group |
String |
检查项分组,取值如下
|
level |
String |
检查项风险级别,取值如下
|
phase |
String |
状态,取值如下
|
message |
String |
提示信息 |
riskSource |
riskSource object |
风险项 |
errorCodes |
Array of strings |
错误码集合 |
参数 |
参数类型 |
描述 |
---|---|---|
configurationRisks |
Array of configurationRisks objects |
配置风险项 |
deprecatedAPIRisks |
Array of deprecatedAPIRisks objects |
废弃API风险 |
nodeRisks |
Array of nodeRisks objects |
节点风险 |
addonRisks |
Array of addonRisks objects |
插件风险 |
参数 |
参数类型 |
描述 |
---|---|---|
package |
String |
组件名称 |
sourceFile |
String |
涉及文件路径 |
nodeMsg |
String |
节点信息 |
field |
String |
参数值 |
operation |
String |
修改操作类型 |
originalValue |
String |
原始值 |
value |
String |
当前值 |
请求示例
集群升级前检查请求体
POST /autopilot/v3/projects/{project_id}/clusters/{cluster_id}/operation/precheck { "kind" : "PreCheckTask", "apiVersion" : "v3", "spec" : { "clusterID" : "8978deaa-1743-11ee-8e46-0255ac10004c", "clusterVersion" : "v1.15.11-r1", "targetVersion" : "v1.19.16-r80", "skippedCheckItemList" : [ ] } }
响应示例
状态码: 200
执行集群升级前检查成功。
{ "kind" : "PreCheckTask", "apiVersion" : "v3", "metadata" : { "uid" : "9991b45e-a2be-4b49-aca4-50a25fa6f81e" }, "spec" : { "clusterID" : "8978deaa-1743-11ee-8e46-0255ac10004c", "clusterVersion" : "v1.15.11-r1", "targetVersion" : "v1.19.16-r80" }, "status" : { "phase" : "Init", "clusterCheckStatus" : { "phase" : "Init" }, "addonCheckStatus" : { "phase" : "Init" }, "nodeCheckStatus" : { "phase" : "Init" } } }
SDK代码示例
SDK代码示例如下。
集群升级前检查请求体
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.cce.v3.region.CceRegion; import com.huaweicloud.sdk.cce.v3.*; import com.huaweicloud.sdk.cce.v3.model.*; import java.util.List; import java.util.ArrayList; public class CreateAutopilotPreCheckSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); CceClient client = CceClient.newBuilder() .withCredential(auth) .withRegion(CceRegion.valueOf("<YOUR REGION>")) .build(); CreateAutopilotPreCheckRequest request = new CreateAutopilotPreCheckRequest(); request.withClusterId("{cluster_id}"); PrecheckClusterRequestBody body = new PrecheckClusterRequestBody(); PrecheckSpec specbody = new PrecheckSpec(); specbody.withClusterID("8978deaa-1743-11ee-8e46-0255ac10004c") .withClusterVersion("v1.15.11-r1") .withTargetVersion("v1.19.16-r80"); body.withSpec(specbody); body.withKind("PreCheckTask"); body.withApiVersion("v3"); request.withBody(body); try { CreateAutopilotPreCheckResponse response = client.createAutopilotPreCheck(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
集群升级前检查请求体
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcce.v3.region.cce_region import CceRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcce.v3 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = CceClient.new_builder() \ .with_credentials(credentials) \ .with_region(CceRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateAutopilotPreCheckRequest() request.cluster_id = "{cluster_id}" specbody = PrecheckSpec( cluster_id="8978deaa-1743-11ee-8e46-0255ac10004c", cluster_version="v1.15.11-r1", target_version="v1.19.16-r80" ) request.body = PrecheckClusterRequestBody( spec=specbody, kind="PreCheckTask", api_version="v3" ) response = client.create_autopilot_pre_check(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
集群升级前检查请求体
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" cce "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := cce.NewCceClient( cce.CceClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateAutopilotPreCheckRequest{} request.ClusterId = "{cluster_id}" clusterIDSpec:= "8978deaa-1743-11ee-8e46-0255ac10004c" clusterVersionSpec:= "v1.15.11-r1" targetVersionSpec:= "v1.19.16-r80" specbody := &model.PrecheckSpec{ ClusterID: &clusterIDSpec, ClusterVersion: &clusterVersionSpec, TargetVersion: &targetVersionSpec, } request.Body = &model.PrecheckClusterRequestBody{ Spec: specbody, Kind: "PreCheckTask", ApiVersion: "v3", } response, err := client.CreateAutopilotPreCheck(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
执行集群升级前检查成功。 |
错误码
请参见错误码。