功能介紹
該API用于在指定集群下移除節(jié)點(diǎn)。
集群管理的URL格式為:https://Endpoint/uri。其中uri為資源路徑,也即API訪問的路徑。
調(diào)用方法
請參見如何調(diào)用API。
URI
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/remove
|
參數(shù) |
是否必選 |
參數(shù)類型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
項(xiàng)目ID,獲取方式請參見如何獲取接口URI中參數(shù)。 |
|
cluster_id |
是 |
String |
集群ID,獲取方式請參見如何獲取接口URI中參數(shù)。 |
請求參數(shù)
|
參數(shù) |
是否必選 |
參數(shù)類型 |
描述 |
|---|---|---|---|
|
Content-Type |
是 |
String |
消息體的類型(格式) |
|
X-Auth-Token |
是 |
String |
調(diào)用接口的認(rèn)證方式分為Token和AK/SK兩種,如果您使用的Token方式,此參數(shù)為必填,請?zhí)顚慣oken的值,獲取方式請參見獲取token。 |
|
參數(shù) |
是否必選 |
參數(shù)類型 |
描述 |
|---|---|---|---|
|
apiVersion |
否 |
String |
API版本,固定值“v3”。 |
|
kind |
否 |
String |
API類型,固定值“RemoveNodesTask”。 |
|
spec |
是 |
配置信息 |
|
|
status |
否 |
任務(wù)狀態(tài) |
|
參數(shù) |
是否必選 |
參數(shù)類型 |
描述 |
|---|---|---|---|
|
login |
是 |
節(jié)點(diǎn)的登錄方式。密鑰對和密碼登錄方式二者必選其一。 |
|
|
nodes |
是 |
待操作節(jié)點(diǎn)列表 |
|
參數(shù) |
是否必選 |
參數(shù)類型 |
描述 |
|---|---|---|---|
|
sshKey |
否 |
String |
選擇密鑰對方式登錄時的密鑰對名稱。 |
|
userPassword |
否 |
選擇密碼方式登錄時的帳號密碼信息,之后可通過此帳號密碼登錄節(jié)點(diǎn)。 |
|
參數(shù) |
是否必選 |
參數(shù)類型 |
描述 |
|---|---|---|---|
|
username |
否 |
String |
登錄帳號,默認(rèn)為“root” |
|
password |
是 |
String |
登錄密碼,若創(chuàng)建節(jié)點(diǎn)通過用戶名密碼方式,即使用該字段,則響應(yīng)體中該字段作屏蔽展示。 密碼復(fù)雜度要求:
|
響應(yīng)參數(shù)
狀態(tài)碼: 200
|
參數(shù) |
參數(shù)類型 |
描述 |
|---|---|---|
|
apiVersion |
String |
API版本,固定值“v3”。 |
|
kind |
String |
API類型,固定值“RemoveNodesTask”。 |
|
spec |
配置信息 |
|
|
status |
任務(wù)狀態(tài) |
|
參數(shù) |
參數(shù)類型 |
描述 |
|---|---|---|
|
login |
節(jié)點(diǎn)的登錄方式。密鑰對和密碼登錄方式二者必選其一。 |
|
|
nodes |
待操作節(jié)點(diǎn)列表 |
|
參數(shù) |
參數(shù)類型 |
描述 |
|---|---|---|
|
sshKey |
String |
選擇密鑰對方式登錄時的密鑰對名稱。 |
|
userPassword |
選擇密碼方式登錄時的帳號密碼信息,之后可通過此帳號密碼登錄節(jié)點(diǎn)。 |
|
參數(shù) |
參數(shù)類型 |
描述 |
|---|---|---|
|
username |
String |
登錄帳號,默認(rèn)為“root” |
|
password |
String |
登錄密碼,若創(chuàng)建節(jié)點(diǎn)通過用戶名密碼方式,即使用該字段,則響應(yīng)體中該字段作屏蔽展示。 密碼復(fù)雜度要求:
|
請求示例
移除節(jié)點(diǎn)
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/remove
{
"spec" : {
"login" : {
"sshKey" : "KeyPair-001"
},
"nodes" : [ {
"uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}, {
"uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
} ]
}
}
響應(yīng)示例
狀態(tài)碼: 200
表示在指定集群下移除節(jié)點(diǎn)的作業(yè)下發(fā)成功。
{
"spec" : {
"login" : {
"sshKey" : "KeyPair-001"
},
"nodes" : [ {
"uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}, {
"uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
} ]
},
"status" : {
"jobID" : "2ec9b78d-9368-46f3-8f29-d1a95622a568"
}
}
SDK代碼示例
SDK代碼示例如下。
移除節(jié)點(diǎn)
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 RemoveNodeSolution {
public static void main(String[] args) {
String ak = "<YOUR AK>";
String sk = "<YOUR SK>";
String projectId = "<project_id>";
ICredential auth = new BasicCredentials()
.withProjectId(projectId)
.withAk(ak)
.withSk(sk);
CceClient client = CceClient.newBuilder()
.withCredential(auth)
.withRegion(CceRegion.valueOf("cn-north-4"))
.build();
RemoveNodeRequest request = new RemoveNodeRequest();
request.withClusterId("<cluster_id>");
RemoveNodesTask body = new RemoveNodesTask();
List<NodeItem> listSpecNodes = new ArrayList<>();
listSpecNodes.add(
new NodeItem()
.withUid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
);
listSpecNodes.add(
new NodeItem()
.withUid("yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy")
);
Login loginSpec = new Login();
loginSpec.withSshKey("KeyPair-001");
RemoveNodesSpec specbody = new RemoveNodesSpec();
specbody.withLogin(loginSpec)
.withNodes(listSpecNodes);
body.withSpec(specbody);
request.withBody(body);
try {
RemoveNodeResponse response = client.removeNode(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());
}
}
}
移除節(jié)點(diǎn)
# coding: utf-8
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__":
ak = "<YOUR AK>"
sk = "<YOUR SK>"
projectId = "<project_id>"
credentials = BasicCredentials(ak, sk, projectId) \
client = CceClient.new_builder() \
.with_credentials(credentials) \
.with_region(CceRegion.value_of("cn-north-4")) \
.build()
try:
request = RemoveNodeRequest()
request.cluster_id = "<cluster_id>"
listNodesSpec = [
NodeItem(
uid="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
),
NodeItem(
uid="yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
)
]
loginSpec = Login(
ssh_key="KeyPair-001"
)
specbody = RemoveNodesSpec(
login=loginSpec,
nodes=listNodesSpec
)
request.body = RemoveNodesTask(
spec=specbody
)
response = client.remove_node(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
移除節(jié)點(diǎn)
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() {
ak := "<YOUR AK>"
sk := "<YOUR SK>"
projectId := "<project_id>"
auth := basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
WithProjectId(projectId).
Build()
client := cce.NewCceClient(
cce.CceClientBuilder().
WithRegion(region.ValueOf("cn-north-4")).
WithCredential(auth).
Build())
request := &model.RemoveNodeRequest{}
request.ClusterId = "<cluster_id>"
var listNodesSpec = []model.NodeItem{
{
Uid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
},
{
Uid: "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
},
}
sshKeyLogin:= "KeyPair-001"
loginSpec := &model.Login{
SshKey: &sshKeyLogin,
}
specbody := &model.RemoveNodesSpec{
Login: loginSpec,
Nodes: listNodesSpec,
}
request.Body = &model.RemoveNodesTask{
Spec: specbody,
}
response, err := client.RemoveNode(request)
if err == nil {
fmt.Printf("%+v\n", response)
} else {
fmt.Println(err)
}
}
更多編程語言的SDK代碼示例,請參見API Explorer的代碼示例頁簽,可生成自動對應(yīng)的SDK代碼示例。
狀態(tài)碼
|
狀態(tài)碼 |
描述 |
|---|---|
|
200 |
表示在指定集群下移除節(jié)點(diǎn)的作業(yè)下發(fā)成功。 |
錯誤碼
請參見錯誤碼。
最新文章
- VPCEP終端節(jié)點(diǎn)產(chǎn)品功能_VPC終端節(jié)點(diǎn)免費(fèi)嗎_VPC終端節(jié)點(diǎn)優(yōu)勢
- GaussDB磁盤擴(kuò)容_協(xié)調(diào)節(jié)點(diǎn)縮容_協(xié)調(diào)節(jié)點(diǎn)擴(kuò)容_分片數(shù)量擴(kuò)容
- 終端節(jié)點(diǎn)管理_如何使用VPC終端節(jié)點(diǎn)_VPC終端節(jié)點(diǎn)應(yīng)用場景
- 好用的VPCEP_終端節(jié)點(diǎn)服務(wù)管理_VPC終端節(jié)點(diǎn)是什么
- CDN節(jié)點(diǎn)_CDN訪問加速_CDN準(zhǔn)入
- CDN加速_網(wǎng)站加速CDN_CDN加速節(jié)點(diǎn)
