Skip to content

Nodepool

Nodepools are groups of compute instances managed by SKS, serving as worker nodes in your Kubernetes cluster.

Read more

create-sks-nodepool

Create a new SKS Nodepool

POST /sks-cluster/{id}/nodepool

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
disk-sizeintegeryesNodepool instances disk size in GiB
instance-typeInstance type referenceyesNodepool instances type
namestringyesNodepool name, lowercase only
sizeintegeryesNumber of instances
addonsarray[string]noNodepool addons
anti-affinity-groupsarray of Anti-affinity group referencenoNodepool Anti-affinity Groups
deploy-targetDeploy target referencenoNodepool Deploy Target
descriptionstringnoNodepool description
instance-prefixstringnoPrefix to apply to instances names (default: pool), lowercase only
kubelet-image-gcKubelet image GC optionsnoKubelet image GC options
labelsobjectnoNodepool labels
private-networksarray of Private network referencenoNodepool Private Networks
public-ip-assignmentstringnoConfigures public IP assignment of the Instances with: * IPv4 (inet4) addressing only (default); * both IPv4 and IPv6 (dual) addressing.

Allowed values: inet4, dual.
security-groupsarray of Security group referencenoNodepool Security Groups
taintsobjectnoNodepool taints
Example
{
  "addons": [
    "storage-lvm"
  ],
  "anti-affinity-groups": [
    {
      "id": "string"
    }
  ],
  "deploy-target": {
    "id": "string"
  },
  "description": "string",
  "disk-size": 0,
  "instance-prefix": "string",
  "instance-type": {
    "id": "string"
  },
  "kubelet-image-gc": {
    "high-threshold": 0,
    "low-threshold": 0,
    "min-age": "string"
  },
  "labels": {},
  "name": "string",
  "private-networks": [
    {
      "id": "string"
    }
  ],
  "public-ip-assignment": "inet4",
  "security-groups": [
    {
      "id": "string"
    }
  ],
  "size": 0,
  "taints": {}
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-sks-nodepool: golang | Python | Java

CLI: exo api create-sks-nodepool

get-sks-nodepool

Retrieve SKS Nodepool details

GET /sks-cluster/{id}/nodepool/{sks-nodepool-id}

Path parameters

NameInDescription
idpath
sks-nodepool-idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
addonsarray[string]Nodepool addons
anti-affinity-groupsarray of Anti-affinity group referenceNodepool Anti-affinity Groups
created-atstringNodepool creation date
deploy-targetDeploy target referenceInstance Pool Deploy Target
descriptionstringNodepool description
disk-sizeintegerNodepool instances disk size in GiB
idstringNodepool ID
instance-poolTarget Instance PoolInstance Pool managed by the Nodepool
instance-prefixstringThe instances created by the Nodepool will be prefixed with this value (default: pool)
instance-typeInstance type referenceNodepool Instances type
kubelet-image-gcKubelet image GC optionsKubelet image GC options
labelsobjectNodepool labels
namestringNodepool name
private-networksarray of Private network referenceNodepool Private Networks
public-ip-assignmentstringNodepool public IP assignment of the Instances: * IPv4 (inet4) addressing only; * IPv4 and IPv6 (dual) addressing.

Allowed values: inet4, dual.
security-groupsarray of Security group referenceNodepool Security Groups
sizeintegerNumber of instances
statestringNodepool state

Allowed values: renewing-token, creating, deleting, running, scaling, updating, error.
taintsobjectNodepool taints
templateTemplate referenceNodepool Instance template
versionstringNodepool version
Example output
{
  "addons": [
    "storage-lvm"
  ],
  "anti-affinity-groups": [
    {
      "id": "string"
    }
  ],
  "created-at": "2024-01-01T12:00:00Z",
  "deploy-target": {
    "id": "string"
  },
  "description": "string",
  "disk-size": 0,
  "id": "string",
  "instance-pool": {
    "id": "string"
  },
  "instance-prefix": "string",
  "instance-type": {
    "id": "string"
  },
  "kubelet-image-gc": {
    "high-threshold": 0,
    "low-threshold": 0,
    "min-age": "string"
  },
  "labels": {},
  "name": "string",
  "private-networks": [
    {
      "id": "string"
    }
  ],
  "public-ip-assignment": "inet4",
  "security-groups": [
    {
      "id": "string"
    }
  ],
  "size": 0,
  "state": "renewing-token",
  "taints": {},
  "template": {
    "id": "string"
  },
  "version": "string"
}

SDK reference for get-sks-nodepool: golang | Python | Java

CLI: exo api get-sks-nodepool

update-sks-nodepool

Update an SKS Nodepool

PUT /sks-cluster/{id}/nodepool/{sks-nodepool-id}

Path parameters

NameInDescription
idpath
sks-nodepool-idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
anti-affinity-groupsarray of Anti-affinity group referencenoNodepool Anti-affinity Groups
deploy-targetDeploy target referencenoNodepool Deploy Target
descriptionstringnoNodepool description
disk-sizeintegernoNodepool instances disk size in GiB
instance-prefixstringnoPrefix to apply to managed instances names (default: pool), lowercase only
instance-typeInstance type referencenoNodepool instances type
labelsobjectnoNodepool labels
namestringnoNodepool name, lowercase only
private-networksarray of Private network referencenoNodepool Private Networks
public-ip-assignmentstringnoConfigures public IP assignment of the Instances with: * IPv4 (inet4) addressing only; * both IPv4 and IPv6 (dual) addressing.

Allowed values: inet4, dual.
security-groupsarray of Security group referencenoNodepool Security Groups
taintsobjectnoNodepool taints
Example
{
  "anti-affinity-groups": [
    {
      "id": "string"
    }
  ],
  "deploy-target": {
    "id": "string"
  },
  "description": "string",
  "disk-size": 0,
  "instance-prefix": "string",
  "instance-type": {
    "id": "string"
  },
  "labels": {},
  "name": "string",
  "private-networks": [
    {
      "id": "string"
    }
  ],
  "public-ip-assignment": "inet4",
  "security-groups": [
    {
      "id": "string"
    }
  ],
  "taints": {}
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-sks-nodepool: golang | Python | Java

CLI: exo api update-sks-nodepool

scale-sks-nodepool

Scale a SKS Nodepool

PUT /sks-cluster/{id}/nodepool/{sks-nodepool-id}:scale

Path parameters

NameInDescription
idpath
sks-nodepool-idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
sizeintegeryesNumber of instances
Example
{
  "size": 0
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for scale-sks-nodepool: golang | Python | Java

CLI: exo api scale-sks-nodepool

delete-sks-nodepool

Delete an SKS Nodepool

DELETE /sks-cluster/{id}/nodepool/{sks-nodepool-id}

Path parameters

NameInDescription
idpath
sks-nodepool-idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-sks-nodepool: golang | Python | Java

CLI: exo api delete-sks-nodepool


Other Operations

evict-sks-nodepool-members

Evict Nodepool members

PUT /sks-cluster/{id}/nodepool/{sks-nodepool-id}:evict

This operation evicts the specified Compute instances member from the Nodepool, shrinking it to <current nodepool size> - <# evicted members>.

Path parameters

NameInDescription
idpath
sks-nodepool-idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
instancesarray[string]no
Example
{
  "instances": [
    "string"
  ]
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for evict-sks-nodepool-members: golang | Python | Java

CLI: exo api evict-sks-nodepool-members

Last updated on