Skip to main content

Managed Kubernetes API (v2.0.0)

Managing clusters, node groups, and nodes: creating a cluster, automating cluster maintenance, and more

Clusters

Managing Kubernetes clusters: create, update, and delete clusters, automate cluster maintenance, and more

List clusters

Returns a list of clusters.

Authorizations:
iam_token_project_scoped

Responses

Response samples

Content type
application/json
{
  • "clusters": [
    ]
}

Create cluster

Starts creating a cluster.

Authorizations:
iam_token_project_scoped
Request Body schema: application/json
required
object (ClusterCreateStruct)
required
object

AdditionalSoftware represents information about additional software installed in the cluster. Deprecated: do not use.

basic
required
boolean

Basic specifies that only a single zonal master will be created. It is needed if a highly available control plane is not required. False by default.

cloud_subnet_cidr
required
string
enable_patch_version_auto_upgrade
boolean

EnablePatchVersionAutoUpgrade specifies whether the Kubernetes version of the cluster is allowed to be upgraded automatically. Enabled by default for regional clusters and disabled for zonal clusters.

enable_autorepair
boolean
Default: true

EnableAutorepair reflects whether worker nodes are allowed to be reinstalled automatically in case of their unavailability or unhealthiness.

kube_version
required
string

KubeVersion represents the needed Kubernetes version of the cluster. It should be in x.y.z format.

object (KubernetesOptions)

Additional k8s options such as pod security policy, feature gates, etc.

maintenance_window_start
required
string

MaintenanceWindowStart represents UTC time of when the cluster will start its maintenance tasks. It should be in hh:mm:ss format if provided.

name
required
string

Name represents the desired name of the cluster. It must not exceed 32 characters and can contain Latin letters, with digits and hyphens. Must start with a letter or a digit.

network_id
required
string <uuid4>

NetworkID contains a reference to the network of the cluster. It can be set in cases where the network is pre-created.

network_type
required
string

NetworkType indicates which network will be used for master-node connection.

pool
required
string

Pool is the pool of where the cluster master nodes are located.

private_kube_api
required
boolean

PrivateKubeAPI specifies whether kube API should be available from the Internet or not. False by default.

subnet_id
required
string <uuid4>

SubnetID contains a reference to the subnet of the cluster. It can be set in cases where the subnet is pre-created.

cni_type
string

CNI type represents type of CNI which will be used in cluster. Supported CNI types are CALICO and CILIUM. CALICO by default.

cluster_type
string
Enum: "BASIC" "HIGH_AVAILABILITY" "HIGH_AVAILABILITY_MULTI_AZ"

The type of the cluster. If not specified, defaults based on the 'basic' field: basic=true → BASIC, basic=false → HIGH_AVAILABILITY. For HIGH_AVAILABILITY_MULTI_AZ clusters this field is required.

object (CNICiliumSettings)

Settings for Cilium CNI if this CNI was chosen as "cni_type". Otherwise settings will be ignored.

Responses

Request samples

Content type
application/json
{
  • "cluster": {
    }
}

Response samples

Content type
application/json
{
  • "cluster": {
    }
}

Get cluster information

Returns information about a cluster by provided cluster_id.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Responses

Response samples

Content type
application/json
{
  • "cluster": {
    }
}

Update cluster

Updates cluster parameters.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Request Body schema: application/json
required
object (ClusterUpdateStruct)
enable_patch_version_auto_upgrade
boolean

EnablePatchVersionAutoUpgrade specifies if Kubernetes version of the cluster is allowed to be upgraded automatically. Enabled by default for regional clusters and disabled for zonal clusters.

enable_autorepair
boolean
Default: true

EnableAutorepair reflects whether worker nodes are allowed to be reinstalled automatically in case of their unavailability or unhealthiness.

object (KubernetesOptions)

Additional k8s options such as pod security policy, feature gates, etc.

maintenance_window_start
string

MaintenanceWindowStart represents UTC time of when the cluster will start its maintenance tasks. It should be in hh:mm:ss format if provided.

object (CNICiliumSettings)

Settings for Cilium CNI if this CNI was chosen as "cni_type". Otherwise settings will be ignored.

Responses

Request samples

Content type
application/json
{
  • "cluster": {
    }
}

Response samples

Content type
application/json
{
  • "cluster": {
    }
}

Partially update cluster

Partially update cluster parameters.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Request Body schema: application/json
required

Cluster partial update request body.

object (ClusterUpdateStruct)
enable_patch_version_auto_upgrade
boolean

EnablePatchVersionAutoUpgrade specifies if Kubernetes version of the cluster is allowed to be upgraded automatically. Enabled by default for regional clusters and disabled for zonal clusters.

enable_autorepair
boolean
Default: true

EnableAutorepair reflects whether worker nodes are allowed to be reinstalled automatically in case of their unavailability or unhealthiness.

object (KubernetesOptions)

Additional k8s options such as pod security policy, feature gates, etc.

maintenance_window_start
string

MaintenanceWindowStart represents UTC time of when the cluster will start its maintenance tasks. It should be in hh:mm:ss format if provided.

object (CNICiliumSettings)

Settings for Cilium CNI if this CNI was chosen as "cni_type". Otherwise settings will be ignored.

Responses

Request samples

Content type
application/json
{
  • "cluster": {
    }
}

Response samples

Content type
application/json
{
  • "cluster": {
    }
}

Delete cluster

Deletes a cluster by provided cluster_id.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get cluster kubeconfig

Returns a kubeconfig in YAML for the requested cluster.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Rotate cluster certificates

Starts certificates rotation.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Upgrade cluster patch version

Starts upgrading a Kubernetes patch version.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Responses

Response samples

Content type
application/json
{
  • "cluster": {
    }
}

Upgrade cluster minor version

Starts upgrading a minor version.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Responses

Response samples

Content type
application/json
{
  • "cluster": {
    }
}

Nodegroups

Managing node groups in clusters: create, update, delete, resize, automate scaling, and more

List nodegroups

Returns a list of node groups of the cluster.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Responses

Response samples

Content type
application/json
{
  • "nodegroups": [
    ]
}

Create nodegroups

Starts nodegroups creation process.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Request Body schema: application/json
required
required
Array of objects (NodegroupCreateStruct)
Array
segment
required
string

Should contain the valid segment name where node group nodes will be created.

count
required
integer <int64>

Count represents nodes count for this nodegroup.

object

An object containing a set of Kubernetes labels that will be applied for each node in the group. The keys must be user-defined.

Array of objects (NodegroupTaint)

List of node group taints.

object (DedicatedNodegroupConfig)

Configuration for dedicated based nodegroups.

object (CloudNodegroupConfig)

Configuration for cloud based nodegroups.

cidr
string

CIDR for node group specified by client.

enable_autoscale
boolean

Reflects if the node group is allowed to be scaled automatically.

autoscale_max_nodes
integer <int64>

Maximum possible number of worker nodes in the nodegroup.

autoscale_min_nodes
integer <int64>

Minimum possible number of worker nodes in the nodegroup.

user_data
string

Base64 data which is used to pass a script that worker nodes run on boot.

install_nvidia_device_plugin
boolean

Indicates whether NVIDIA device plugin installation was requested. Applicable only for nodegroups with GPU nodes.

preemptible
boolean

Whether nodes in the node group are preemptible.

Responses

Request samples

Content type
application/json
{
  • "nodegroups": [
    ]
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get node group information

Returns a single node group by provided cluster_id and nodegroup_id.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

nodegroup_id
required
string
Example: B36D6C34-318D-4EC1-833D-384197F24385

Unique node group identifier.

Responses

Response samples

Content type
application/json
{
  • "nodegroup": {
    }
}

Update nodegroup

Updates node group by provided cluster_id and nodegroup_id.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

nodegroup_id
required
string
Example: B36D6C34-318D-4EC1-833D-384197F24385

Unique node group identifier.

Request Body schema: application/json
required
required
object (NodegroupUpdateStruct)
object

An object containing a set of Kubernetes labels that will be applied for each node in the group. The keys must be user-defined.

Array of objects (NodegroupTaint)

List of node group taints.

enable_autoscale
boolean

Whether the cloud node group is allowed to be scaled automatically.

autoscale_min_nodes
integer <int>

Minimum possible number of worker nodes in the cloud nodegroup.

autoscale_max_nodes
integer <int>

Maximum possible number of worker nodes in the cloud nodegroup.

Responses

Request samples

Content type
application/json
{
  • "nodegroup": {
    }
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Delete nodegroup

Deletes node group by provided cluster_id and nodegroup_id.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

nodegroup_id
required
string
Example: B36D6C34-318D-4EC1-833D-384197F24385

Unique node group identifier.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Resize nodegroup

Resizes node group by provided cluster_id and nodegroup_id.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

nodegroup_id
required
string
Example: B36D6C34-318D-4EC1-833D-384197F24385

Unique node group identifier.

Request Body schema: application/json
required
required
object (NodegroupResizeStruct)
desired
required
integer <int64>

Desired amount of nodes for this nodegroup.

Responses

Request samples

Content type
application/json
{
  • "nodegroup": {
    }
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Nodes

Managing nodes in node groups: delete, reinstall, and more

Get node information

Returns single node by provided cluster_id, nodegroup_id and node_id.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

nodegroup_id
required
string
Example: B36D6C34-318D-4EC1-833D-384197F24385

Unique node group identifier.

node_id
required
string
Example: 75A8CD59-2E4B-4C8B-ABF0-379DDC50CCE3

Unique node identifier.

Responses

Response samples

Content type
application/json
{
  • "node": {
    }
}

Delete node

Deletes node by provided cluster_id, nodegroup_id and node_id.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

nodegroup_id
required
string
Example: B36D6C34-318D-4EC1-833D-384197F24385

Unique node group identifier.

node_id
required
string
Example: 75A8CD59-2E4B-4C8B-ABF0-379DDC50CCE3

Unique node identifier.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Reinstall node

Reinstalls node by provided cluster_id, nodegroup_id and node_id.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

nodegroup_id
required
string
Example: B36D6C34-318D-4EC1-833D-384197F24385

Unique node group identifier.

node_id
required
string
Example: 75A8CD59-2E4B-4C8B-ABF0-379DDC50CCE3

Unique node identifier.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Tasks

Managing clusters tasks

List cluster tasks

Returns a list of cluster tasks.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

query Parameters
limit
integer <uint64>

Limit of elements in response.

offset
integer <uint64>
Default: 0

Number of elements to skip.

with_error_details
boolean
Default: false

Flag to show error details at task view.

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "tasks": [
    ]
}

Get cluster task

Returns the cluster task.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

task_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique task identifier.

query Parameters
with_error_details
boolean
Default: false

Flag to show error details at task view.

Responses

Response samples

Content type
application/json
{
  • "task": {
    }
}

Admission Controllers

Managing supported admission controllers

Get supported admission controllers

Returns a list of supported admission controllers.

Authorizations:
iam_token_project_scoped

Responses

Response samples

Content type
application/json
{
  • "admission_controllers": [
    ]
}

Feature Gates

Managing supported feature gates

Get supported feature gates

Returns a list of supported feature gates.

Authorizations:
iam_token_project_scoped

Responses

Response samples

Content type
application/json
{
  • "feature_gates": [
    ]
}

Kubernetes versions

Managing supported Kubernetes versions

Get supported Kubernetes versions

Returns a list of supported Kubernetes versions.

Authorizations:
iam_token_project_scoped

Responses

Response samples

Content type
application/json
{
  • "kube_versions": [
    ]
}

Registries

Managing registry integrations

Create registries integration

Create new registries integration in provided cluster

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Request Body schema: application/json
required
required
Array of objects (RegistriesIntegrationCreateStruct)
Array
id
required
string

Unique identifier of the registry.

Responses

Request samples

Content type
application/json
{
  • "registries": [
    ]
}

Response samples

Content type
application/json
{
  • "registries": [
    ],
  • "status": "ACTIVE"
}

List integrated registries

Get registries integrated with provided cluster

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Responses

Response samples

Content type
application/json
{
  • "registries": [
    ],
  • "status": "ACTIVE"
}

Update registry integrations

Update registry integration in the provided cluster

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Request Body schema: application/json
required
required
Array of objects (RegistriesIntegrationUpdateStruct)
Array
id
required
string

Unique identifier of the registry.

Responses

Request samples

Content type
application/json
{
  • "registries": [
    ]
}

Response samples

Content type
application/json
{
  • "registries": [
    ],
  • "status": "ACTIVE"
}

Delete all registry integrations

Deletes all registry integrations in the provided cluster.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Delete registry integration

Deletes the provided registry integration in the provided cluster.

Authorizations:
iam_token_project_scoped
path Parameters
cluster_id
required
string
Example: 526338B6-1100-4FB3-AD09-5CD268E5E674

Unique cluster identifier.

registry_id
required
string
Example: C0523FA7-0BE5-4B9C-9EEA-78EC4CC7204B

Unique registry identifier.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}