tke — Kubernetes Engine
tke · 2018-05-25

CreateCluster

POST

Create 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/CreateCluster 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: CreateCluster' \
  -H 'X-TC-Version: 2018-05-25' \
  -H 'X-TC-Timestamp: <unix-seconds>' \
  -H 'X-TC-Region: luzon' \
  -d '{"ClusterType":"<ClusterType>","ClusterCIDRSettings":"<ClusterCIDRSettings>"}'

Request parameters

FieldTypeRequiredDescription
ClusterTypestringYesCluster type. Managed cluster: MANAGED_CLUSTER; self-deployed cluster: INDEPENDENT_CLUSTER.
ClusterCIDRSettingsClusterCIDRSettingsYesContainer networking configuration information for the cluster
RunInstancesForNodeRunInstancesForNode[]NoPass-through parameter for CVM creation in the format of a JSON string. For more information, see the API for creating a CVM instance.
ClusterBasicSettingsClusterBasicSettingsNoBasic configuration information of the cluster
ClusterAdvancedSettingsClusterAdvancedSettingsNoAdvanced configuration information of the cluster
InstanceAdvancedSettingsInstanceAdvancedSettingsNoAdvanced configuration information of the node
ExistedInstancesForNodeExistedInstancesForNode[]NoThe configuration information for existing instances. All instances must be in the same VPC. Up to 100 instances are allowed in one VPC. Spot instances are not supported.
InstanceDataDiskMountSettingsInstanceDataDiskMountSetting[]NoCVM type and the corresponding data disk mounting configuration information.
ExtensionAddonsExtensionAddon[]NoInformation of the add-on to be installed
CdcIdstringNoCDC Id

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.

FieldTypeDescription
ClusterIdstringCluster ID
RequestIdstringThe 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": {
    "ClusterId": …,
    "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 · CreateCluster

What failure looks like

Example error responses for this action. Match on Code.

Recorded error 1
{
  "Response": {
    "RequestId": "146f6ef6-396d-a68b-5955-3e7c4bc1565f",
    "Error": {
      "Code": "UnknownParameter",
      "Message": "failed to get subnet"
    }
  }
}