POST
/
cloud
/
v2
/
k8s
/
clusters
/
{project_id}
/
{region_id}
/
{cluster_name}
/
pools
Create k8s cluster pool
curl --request POST \
  --url https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "auto_healing_enabled": true,
  "boot_volume_size": 50,
  "boot_volume_type": "ssd_hiiops",
  "crio_config": {
    "default-ulimits": "nofile=1024:2048"
  },
  "flavor_id": "g1-standard-1-2",
  "is_public_ipv4": true,
  "kubelet_config": {
    "podMaxPids": "4096"
  },
  "labels": {
    "my-label": "foo"
  },
  "max_node_count": 5,
  "min_node_count": 3,
  "name": "my-pool",
  "servergroup_policy": "affinity",
  "taints": {
    "my-taint": "bar:NoSchedule"
  }
}'
{
  "tasks": [
    "d478ae29-dedc-4869-82f0-96104425f565"
  ]
}

Authorizations

Authorization
string
header
required

API key for authentication. Make sure to include the word apikey, followed by a single space and then your token. Example: apikey 1234$abcdef

Path Parameters

project_id
integer
required

Project identifier

region_id
integer
required

Region identifier

cluster_name
string
required

Cluster name

Body

application/json
flavor_id
string
required

Flavor ID

Examples:

"g1-standard-1-2"

min_node_count
integer
required

Minimum node count

Required range: 1 <= x <= 200
Examples:

3

name
string
required

Pool's name

Required string length: 1 - 20
Examples:

"my-pool"

auto_healing_enabled
boolean | null
default:false

Enable auto healing

Examples:

true

false

boot_volume_size
integer | null

Boot volume size

Required range: 10 <= x <= 2000
Examples:

50

boot_volume_type
enum<string> | null

Boot volume type

Available options:
cold,
ssd_hiiops,
ssd_local,
ssd_lowlatency,
standard,
ultra
Examples:

"ssd_hiiops"

crio_config
object | null

Cri-o configuration for pool nodes

Examples:
{ "default-ulimits": "nofile=1024:2048" }
is_public_ipv4
boolean | null
default:false

Enable public v4 address

Examples:

true

false

kubelet_config
object | null

Kubelet configuration for pool nodes

Examples:
{ "podMaxPids": "4096" }
labels
object | null

Labels applied to the cluster pool

Examples:
{ "my-label": "foo" }
max_node_count
integer | null

Maximum node count

Required range: 1 <= x <= 200
Examples:

5

servergroup_policy
enum<string> | null

Server group policy: anti-affinity, soft-anti-affinity or affinity

Available options:
affinity,
anti-affinity,
soft-anti-affinity
taints
object | null

Taints applied to the cluster pool

Examples:
{ "my-taint": "bar:NoSchedule" }

Response

Task IDs for pool creation

tasks
string[]
required

List of task IDs

Examples:
["d478ae29-dedc-4869-82f0-96104425f565"]