获取集群升级前检查任务详情列表
功能介绍
获取集群升级前检查任务详情列表
调用方法
请参见如何调用API。
URI
GET /autopilot/v3/projects/{project_id}/clusters/{cluster_id}/operation/precheck/tasks
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 项目ID,获取方式请参见如何获取接口URI中参数。 约束限制: 不涉及 取值范围: 账号的项目ID 默认取值: 不涉及 |
cluster_id |
是 |
String |
参数解释: 集群ID,获取方式请参见如何获取接口URI中参数。 约束限制: 不涉及 取值范围: 集群ID 默认取值: 不涉及 |
请求参数
无
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
apiVersion |
String |
api版本,默认为v3 |
kind |
String |
类型 |
metadata |
Metadata object |
基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 |
items |
Array of PrecheckClusterTask objects |
集群检查任务列表 |
参数 |
参数类型 |
描述 |
---|---|---|
uid |
String |
唯一id标识 |
name |
String |
资源名称 |
labels |
Map<String,String> |
资源标签,key/value对格式,接口保留字段,填写不会生效 |
annotations |
Map<String,String> |
资源注解,由key/value组成 |
updateTimestamp |
String |
更新时间 |
creationTimestamp |
String |
创建时间 |
参数 |
参数类型 |
描述 |
---|---|---|
apiVersion |
String |
api版本,默认为v3 |
kind |
String |
资源类型,默认为PreCheckTask |
metadata |
PrecheckTaskMetadata object |
升级前检查任务元数据信息 |
spec |
PrecheckCluserResponseSpec object |
升级前检查任务信息 |
status |
PrecheckStatus object |
升级前检查任务状态 |
参数 |
参数类型 |
描述 |
---|---|---|
uid |
String |
任务ID |
creationTimestamp |
String |
任务创建时间 |
updateTimestamp |
String |
任务更新时间 |
参数 |
参数类型 |
描述 |
---|---|---|
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 |
当前值 |
请求示例
无
响应示例
状态码: 200
表示获取集群升级前检查任务详情列表成功。
{ "kind" : "List", "apiVersion" : "v3", "metadata" : { }, "items" : [ { "kind" : "PreCheckTask", "apiVersion" : "v3", "metadata" : { "uid" : "10b52d23-080a-4b7d-bf83-64b4687ca786", "creationTimestamp" : "2023-12-16 07:07:11.099111 +0000 UTC", "updateTimestamp" : "2023-12-16 07:09:10.425622 +0000 UTC" }, "spec" : { "clusterVersion" : "v1.23.5-r0", "targetVersion" : "v1.23.11-r0" }, "status" : { "phase" : "Failed", "clusterCheckStatus" : { "phase" : "Success", "itemsStatus" : [ { "name" : "DeprecatedApiCheck", "kind" : "Risk", "group" : "LimitCheck", "level" : "Info", "phase" : "Success", "message" : "check item succeed", "riskSource" : { } }, { "name" : "BlackLimit", "kind" : "Exception", "group" : "LimitCheck", "level" : "Fatal", "phase" : "Success", "message" : "check item succeed", "riskSource" : { } }, { "name" : "MasterSSH", "kind" : "Exception", "group" : "LimitCheck", "level" : "Fatal", "phase" : "Success", "message" : "check item succeed", "riskSource" : { } }, { "name" : "ReleaseLimit", "kind" : "Exception", "group" : "LimitCheck", "level" : "Warning", "phase" : "Success", "message" : "check item succeed", "riskSource" : { } }, { "name" : "ClusterNoArm", "kind" : "Exception", "group" : "LimitCheck", "level" : "Warning", "phase" : "Success", "message" : "check item succeed", "riskSource" : { } } ] }, "addonCheckStatus" : { "phase" : "Failed", "itemsStatus" : [ { "name" : "AddonLimit", "kind" : "Exception", "group" : "AddonCheck", "level" : "Warning", "phase" : "Failed", "message" : "addon [ CoreDNS ] status is abnormal, check and try again", "riskSource" : { "addonRisks" : [ { "addonTemplateName" : "coredns", "alias" : "CoreDNS" } ] } }, { "name" : "CoreDNSConfLimit", "kind" : "Exception", "group" : "AddonCheck", "level" : "Fatal", "phase" : "Success", "message" : "check item succeed", "riskSource" : { } }, { "name" : "EverestLimitHungVersion", "kind" : "Risk", "group" : "AddonCheck", "level" : "Fatal", "phase" : "Success", "message" : "check item succeed", "riskSource" : { } } ] }, "nodeCheckStatus" : { "phase" : "Success" } } } ] }
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 |
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.*; public class ListAutopilotPreCheckTasksSolution { 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(); ListAutopilotPreCheckTasksRequest request = new ListAutopilotPreCheckTasksRequest(); request.withClusterId("{cluster_id}"); try { ListAutopilotPreCheckTasksResponse response = client.listAutopilotPreCheckTasks(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 |
# 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 = ListAutopilotPreCheckTasksRequest() request.cluster_id = "{cluster_id}" response = client.list_autopilot_pre_check_tasks(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 |
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.ListAutopilotPreCheckTasksRequest{} request.ClusterId = "{cluster_id}" response, err := client.ListAutopilotPreCheckTasks(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
表示获取集群升级前检查任务详情列表成功。 |
错误码
请参见错误码。