Nodepool
Nodepools are groups of compute instances managed by SKS, serving as worker nodes in your Kubernetes cluster.
create-sks-nodepool
Create a new SKS Nodepool
POST /sks-cluster/{id}/nodepoolPath parameters
| Name | In | Description |
|---|---|---|
id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
disk-size | integer | yes | Nodepool instances disk size in GiB |
instance-type | Instance type reference | yes | Nodepool instances type |
name | string | yes | Nodepool name, lowercase only |
size | integer | yes | Number of instances |
addons | array[string] | no | Nodepool addons |
anti-affinity-groups | array of Anti-affinity group reference | no | Nodepool Anti-affinity Groups |
deploy-target | Deploy target reference | no | Nodepool Deploy Target |
description | string | no | Nodepool description |
instance-prefix | string | no | Prefix to apply to instances names (default: pool), lowercase only |
kubelet-image-gc | Kubelet image GC options | no | Kubelet image GC options |
labels | object | no | Nodepool labels |
private-networks | array of Private network reference | no | Nodepool Private Networks |
public-ip-assignment | string | no | Configures public IP assignment of the Instances with: * IPv4 (inet4) addressing only (default); * both IPv4 and IPv6 (dual) addressing.Allowed values: inet4, dual. |
security-groups | array of Security group reference | no | Nodepool Security Groups |
taints | object | no | Nodepool 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
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | Reference | Related resource reference |
state | string | Operation 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
| Name | In | Description |
|---|---|---|
id | path | |
sks-nodepool-id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
addons | array[string] | Nodepool addons |
anti-affinity-groups | array of Anti-affinity group reference | Nodepool Anti-affinity Groups |
created-at | string | Nodepool creation date |
deploy-target | Deploy target reference | Instance Pool Deploy Target |
description | string | Nodepool description |
disk-size | integer | Nodepool instances disk size in GiB |
id | string | Nodepool ID |
instance-pool | Target Instance Pool | Instance Pool managed by the Nodepool |
instance-prefix | string | The instances created by the Nodepool will be prefixed with this value (default: pool) |
instance-type | Instance type reference | Nodepool Instances type |
kubelet-image-gc | Kubelet image GC options | Kubelet image GC options |
labels | object | Nodepool labels |
name | string | Nodepool name |
private-networks | array of Private network reference | Nodepool Private Networks |
public-ip-assignment | string | Nodepool public IP assignment of the Instances: * IPv4 (inet4) addressing only; * IPv4 and IPv6 (dual) addressing.Allowed values: inet4, dual. |
security-groups | array of Security group reference | Nodepool Security Groups |
size | integer | Number of instances |
state | string | Nodepool state Allowed values: renewing-token, creating, deleting, running, scaling, updating, error. |
taints | object | Nodepool taints |
template | Template reference | Nodepool Instance template |
version | string | Nodepool 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
| Name | In | Description |
|---|---|---|
id | path | |
sks-nodepool-id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
anti-affinity-groups | array of Anti-affinity group reference | no | Nodepool Anti-affinity Groups |
deploy-target | Deploy target reference | no | Nodepool Deploy Target |
description | string | no | Nodepool description |
disk-size | integer | no | Nodepool instances disk size in GiB |
instance-prefix | string | no | Prefix to apply to managed instances names (default: pool), lowercase only |
instance-type | Instance type reference | no | Nodepool instances type |
labels | object | no | Nodepool labels |
name | string | no | Nodepool name, lowercase only |
private-networks | array of Private network reference | no | Nodepool Private Networks |
public-ip-assignment | string | no | Configures public IP assignment of the Instances with: * IPv4 (inet4) addressing only; * both IPv4 and IPv6 (dual) addressing.Allowed values: inet4, dual. |
security-groups | array of Security group reference | no | Nodepool Security Groups |
taints | object | no | Nodepool 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
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | Reference | Related resource reference |
state | string | Operation 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}:scalePath parameters
| Name | In | Description |
|---|---|---|
id | path | |
sks-nodepool-id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
size | integer | yes | Number of instances |
Example
{
"size": 0
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | Reference | Related resource reference |
state | string | Operation 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
| Name | In | Description |
|---|---|---|
id | path | |
sks-nodepool-id | path |
Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | Reference | Related resource reference |
state | string | Operation 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}:evictThis operation evicts the specified Compute instances member from the Nodepool, shrinking it to <current nodepool size> - <# evicted members>.
Path parameters
| Name | In | Description |
|---|---|---|
id | path | |
sks-nodepool-id | path |
Request body
Content-Type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
instances | array[string] | no |
Example
{
"instances": [
"string"
]
}Responses
Status: 200 - 200
Content-Type: application/json
| Property | Type | Description |
|---|---|---|
id | string | Operation ID |
message | string | Operation message |
reason | string | Operation failure reason Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict. |
reference | Reference | Related resource reference |
state | string | Operation 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