tke — Kubernetes Engine
tke · 2018-05-25
CreateClusterInstances
POST
Create one or more nodes in a cluster.
Wire call
Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /tke/CreateClusterInstances path used in the OpenAPI document is a documentation convenience so each action is addressable; it is not a route on the server.
curl
curl -sS https://tke.api3.convergecloud.com/ \
-H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tke/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Host: tke.api3.convergecloud.com' \
-H 'X-TC-Action: CreateClusterInstances' \
-H 'X-TC-Version: 2018-05-25' \
-H 'X-TC-Timestamp: <unix-seconds>' \
-H 'X-TC-Region: luzon' \
-d '{"ClusterId":"<ClusterId>","RunInstancePara":"<RunInstancePara>"}'Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| ClusterId | string | Yes | Cluster ID. Enter the ClusterId field returned by the DescribeClusters API |
| RunInstancePara | string | Yes | Pass-through parameter for CVM creation in the format of a JSON string. To ensure the idempotence of requests for adding cluster nodes, you need to add the ClientToken field in this parameter. For more information, see the documentation for RunInstances API. |
| InstanceAdvancedSettings | InstanceAdvancedSettings | No | Additional parameter to be set for the instance |
| SkipValidateOptions | string[] | No | Skips the specified verification. Valid values: GlobalRouteCIDRCheck, VpcCniCIDRCheck |
Response
Fields are returned inside the Response envelope. Converge Cloud answers HTTP 200 for errors as well as successes, so read Response.Error rather than the status code — and test for the presence of that object, because Code is occasionally the empty string.
| Field | Type | Description |
|---|---|---|
| InstanceIdSet | string[] | Instance ID |
| RequestId | string | The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. |
Success
{
"Response": {
"InstanceIdSet": …,
"RequestId": "…"
}
}Error
{
"Response": {
"Error": { "Code": "…", "Message": "…" },
"RequestId": "…"
}
}Try it
CredentialThe key never leaves this tab — it signs the request here. The signed request goes to /api-relay/tke.
Request bodyvalid JSONPOST tke.api3.convergecloud.com · CreateClusterInstances
What failure looks like
Example error responses for this action. Match on Code.
Recorded error 1
{
"Response": {
"RequestId": "ab245760-5e6d-f067-ac7c-a6da773bcbb9",
"Error": {
"Code": "InternalError",
"Message": "get cluster cls-00000000 failed ,err: clusters.platform.tkestack.io \"cls-00000000\" not found"
}
}
}Recorded error 2
{
"Response": {
"RequestId": "3cdae474-7151-83e6-34a8-8601694482c6",
"Error": {
"Code": "InternalError",
"Message": "get cluster cls-00000000 failed ,err: clusters.platform.tkestack.io \"cls-00000000\" not found"
}
}
}