import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
k8s_cluster_pool = client.cloud.k8s.clusters.pools.update(
pool_name="my-pool",
project_id=1,
region_id=7,
cluster_name="my-cluster",
)
print(k8s_cluster_pool.id)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/cloud"
"github.com/G-Core/gcore-go/option"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
k8sClusterPool, err := client.Cloud.K8S.Clusters.Pools.Update(
context.TODO(),
"my-pool",
cloud.K8SClusterPoolUpdateParams{
ProjectID: gcore.Int(1),
RegionID: gcore.Int(7),
ClusterName: "my-cluster",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", k8sClusterPool.ID)
}
curl --request PATCH \
--url https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"auto_healing_enabled": true,
"labels": {
"my-label": "foo"
},
"max_node_count": 3,
"min_node_count": 1,
"node_count": 2,
"security_group_ids": [
"e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce"
],
"taints": {
"my-taint": "bar:NoSchedule"
}
}
'const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
auto_healing_enabled: true,
labels: {'my-label': 'foo'},
max_node_count: 3,
min_node_count: 1,
node_count: 2,
security_group_ids: ['e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce'],
taints: {'my-taint': 'bar:NoSchedule'}
})
};
fetch('https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'auto_healing_enabled' => true,
'labels' => [
'my-label' => 'foo'
],
'max_node_count' => 3,
'min_node_count' => 1,
'node_count' => 2,
'security_group_ids' => [
'e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce'
],
'taints' => [
'my-taint' => 'bar:NoSchedule'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.patch("https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"auto_healing_enabled\": true,\n \"labels\": {\n \"my-label\": \"foo\"\n },\n \"max_node_count\": 3,\n \"min_node_count\": 1,\n \"node_count\": 2,\n \"security_group_ids\": [\n \"e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce\"\n ],\n \"taints\": {\n \"my-taint\": \"bar:NoSchedule\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"auto_healing_enabled\": true,\n \"labels\": {\n \"my-label\": \"foo\"\n },\n \"max_node_count\": 3,\n \"min_node_count\": 1,\n \"node_count\": 2,\n \"security_group_ids\": [\n \"e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce\"\n ],\n \"taints\": {\n \"my-taint\": \"bar:NoSchedule\"\n }\n}"
response = http.request(request)
puts response.read_body{
"auto_healing_enabled": true,
"boot_volume_size": 50,
"boot_volume_type": "ssd_hiiops",
"created_at": "2023-02-15T11:53:03+03:00",
"crio_config": {
"default-ulimits": "nofile=1024:2048"
},
"flavor_id": "g1-standard-1-2",
"id": "f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1",
"is_public_ipv4": true,
"kubelet_config": {
"podMaxPids": "4096"
},
"labels": {
"my-label": "foo"
},
"max_node_count": 10,
"min_node_count": 1,
"name": "test",
"node_count": 2,
"security_group_ids": [
"e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce"
],
"status": "Running",
"taints": {
"my-taint": "bar:NoSchedule"
},
"servergroup_id": "1772de21-f013-4b70-9f8f-a518985b3bc2",
"servergroup_name": "my-server-group",
"servergroup_policy": "anti-affinity"
}Update k8s cluster pool
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
k8s_cluster_pool = client.cloud.k8s.clusters.pools.update(
pool_name="my-pool",
project_id=1,
region_id=7,
cluster_name="my-cluster",
)
print(k8s_cluster_pool.id)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/cloud"
"github.com/G-Core/gcore-go/option"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
k8sClusterPool, err := client.Cloud.K8S.Clusters.Pools.Update(
context.TODO(),
"my-pool",
cloud.K8SClusterPoolUpdateParams{
ProjectID: gcore.Int(1),
RegionID: gcore.Int(7),
ClusterName: "my-cluster",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", k8sClusterPool.ID)
}
curl --request PATCH \
--url https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"auto_healing_enabled": true,
"labels": {
"my-label": "foo"
},
"max_node_count": 3,
"min_node_count": 1,
"node_count": 2,
"security_group_ids": [
"e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce"
],
"taints": {
"my-taint": "bar:NoSchedule"
}
}
'const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
auto_healing_enabled: true,
labels: {'my-label': 'foo'},
max_node_count: 3,
min_node_count: 1,
node_count: 2,
security_group_ids: ['e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce'],
taints: {'my-taint': 'bar:NoSchedule'}
})
};
fetch('https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'auto_healing_enabled' => true,
'labels' => [
'my-label' => 'foo'
],
'max_node_count' => 3,
'min_node_count' => 1,
'node_count' => 2,
'security_group_ids' => [
'e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce'
],
'taints' => [
'my-taint' => 'bar:NoSchedule'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.patch("https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"auto_healing_enabled\": true,\n \"labels\": {\n \"my-label\": \"foo\"\n },\n \"max_node_count\": 3,\n \"min_node_count\": 1,\n \"node_count\": 2,\n \"security_group_ids\": [\n \"e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce\"\n ],\n \"taints\": {\n \"my-taint\": \"bar:NoSchedule\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cloud/v2/k8s/clusters/{project_id}/{region_id}/{cluster_name}/pools/{pool_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"auto_healing_enabled\": true,\n \"labels\": {\n \"my-label\": \"foo\"\n },\n \"max_node_count\": 3,\n \"min_node_count\": 1,\n \"node_count\": 2,\n \"security_group_ids\": [\n \"e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce\"\n ],\n \"taints\": {\n \"my-taint\": \"bar:NoSchedule\"\n }\n}"
response = http.request(request)
puts response.read_body{
"auto_healing_enabled": true,
"boot_volume_size": 50,
"boot_volume_type": "ssd_hiiops",
"created_at": "2023-02-15T11:53:03+03:00",
"crio_config": {
"default-ulimits": "nofile=1024:2048"
},
"flavor_id": "g1-standard-1-2",
"id": "f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1",
"is_public_ipv4": true,
"kubelet_config": {
"podMaxPids": "4096"
},
"labels": {
"my-label": "foo"
},
"max_node_count": 10,
"min_node_count": 1,
"name": "test",
"node_count": 2,
"security_group_ids": [
"e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce"
],
"status": "Running",
"taints": {
"my-taint": "bar:NoSchedule"
},
"servergroup_id": "1772de21-f013-4b70-9f8f-a518985b3bc2",
"servergroup_name": "my-server-group",
"servergroup_policy": "anti-affinity"
}Authorizations
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
1
Region ID
7
Cluster name
"my-cluster"
Pool name
"my-pool"
Body
Enable/disable auto healing
true
Labels applied to the cluster pool
Show child attributes
Show child attributes
{ "my-label": "foo" }
Maximum node count
3
Minimum node count
1
This field is deprecated. Please use the cluster pool resize handler instead.
2
Security group IDs applied to the cluster pool nodes. Omit the field to leave unchanged; pass an empty list to clear.
["e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce"]
Taints applied to the cluster pool
Show child attributes
Show child attributes
{ "my-taint": "bar:NoSchedule" }
Response
OK
Indicates the status of auto healing
true
Size of the boot volume
50
Type of the boot volume
"ssd_hiiops"
Date of function creation
"2023-02-15T11:53:03+03:00"
Crio configuration for pool nodes
Show child attributes
Show child attributes
{ "default-ulimits": "nofile=1024:2048" }
ID of the cluster pool flavor
"g1-standard-1-2"
UUID of the cluster pool
"f01fd9a0-9548-48ba-82dc-a8c8b2d6f2f1"
Indicates if the pool is public
true
Kubelet configuration for pool nodes
Show child attributes
Show child attributes
{ "podMaxPids": "4096" }
Labels applied to the cluster pool
Show child attributes
Show child attributes
{ "my-label": "foo" }
Maximum node count in the cluster pool
10
Minimum node count in the cluster pool
1
Name of the cluster pool
"test"
Node count in the cluster pool
2
Security group IDs applied to the cluster pool nodes
["e6ea8f35-82ce-4fb2-b51c-6a24a3a23bce"]
Status of the cluster pool
"Running"
Taints applied to the cluster pool
Show child attributes
Show child attributes
{ "my-taint": "bar:NoSchedule" }
Server group ID
"1772de21-f013-4b70-9f8f-a518985b3bc2"
Server group name
"my-server-group"
Anti-affinity, affinity or soft-anti-affinity server group policy
"anti-affinity"
Was this page helpful?