Scaleway logo
Kubernetes API

A cluster is a fully managed Kubernetes cluster It is composed of different pools, each pool containing the same kind of nodes.


List Clusters

GET
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters

List all existing Kubernetes clusters in a specific region.

List Clusters › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil

List Clusters › query Parameters

organization_id
​string

Organization ID on which to filter the returned clusters.

project_id
​string

Project ID on which to filter the returned clusters.

order_by
​scaleway.k8s.v1.ListClustersRequest.OrderBy · enum

Sort order of returned clusters.

Enum values:
created_at_asc
created_at_desc
updated_at_asc
updated_at_desc
name_asc
name_desc
status_asc
status_desc
Default: created_at_asc
page
​integer · int32

Page number to return for clusters, from the paginated results.

page_size
​integer · uint32

Maximum number of clusters per page.

name
​string

Name to filter on, only clusters containing this substring in their name will be returned.

status
​scaleway.k8s.v1.Cluster.Status · enum

Status to filter on, only clusters with this status will be returned.

Enum values:
unknown
creating
ready
deleting
deleted
updating
locked
pool_required
Default: unknown
type
​string

Type to filter on, only clusters with this type will be returned.

private_network_id
​string

Private Network ID to filter on, only clusters within this Private Network will be returned.

version
​string

Version to filter on, only cluster matching this prefix version will be returned.

List Clusters › Responses

200
total_count
​integer · uint64

Total number of clusters.

Paginated returned clusters.


Create a new Cluster

POST
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters

Create a new Kubernetes cluster in a Scaleway region.

Create a new Cluster › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil

Create a new Cluster › Request Body

name
​string · required

Cluster name.

version
​string · required

Kubernetes version of the cluster.

cni
​scaleway.k8s.v1.CNI · enum · required

Container Network Interface (CNI) plugin running in the cluster.

Enum values:
unknown_cni
cilium
calico
kilo
none
cilium_native
Default: unknown_cni
project_id
​string | null

Project ID in which the cluster will be created.

type
​string

Type of the cluster. See list available cluster types for a list of valid types.

description
​string

Cluster description.

tags
​string[]

Tags associated with the cluster.

Pools created along with the cluster.

Autoscaler configuration for the cluster. It allows you to set (to an extent) your preferred autoscaler configuration, which is an implementation of the cluster-autoscaler (https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler/Open in new context).

Auto upgrade configuration of the cluster. This configuration enables to set a specific 2-hour time window in which the cluster can be automatically updated to the latest patch version.

feature_gates
​string[]

List of feature gates to enable.

admission_plugins
​string[]

List of admission plugins to enable.

OpenID Connect configuration of the cluster. This configuration enables to update the OpenID Connect configuration of the Kubernetes API server.

apiserver_cert_sans
​string[]

Additional Subject Alternative Names for the Kubernetes API server certificate.

private_network_id
​string | null

Private network ID for internal cluster communication (cannot be changed later).

pod_cidr
​string | null

Subnet used for the Pod CIDR (cannot be changed later). (IP network)

service_cidr
​string | null

Subnet used for the Service CIDR (cannot be changed later). (IP network)

service_dns_ip
​string | null

IP used for the DNS Service (cannot be changes later). If unset, default to Service CIDR's network + 10. (IPv4 address)

Create a new Cluster › Responses

200
id
​string

Cluster ID.

srn
​string

The SRN of the cluster.

type
​string

Cluster type.

name
​string

Cluster name.

status
​scaleway.k8s.v1.Cluster.Status · enum

Status of the cluster.

Enum values:
unknown
creating
ready
deleting
deleted
updating
locked
pool_required
Default: unknown
version
​string

Kubernetes version of the cluster.

region
​string

Region in which the cluster is deployed.

organization_id
​string

ID of the Organization owning the cluster.

project_id
​string

ID of the Project owning the cluster.

tags
​string[]

Tags associated with the cluster.

cni
​scaleway.k8s.v1.CNI · enum

Container Network Interface (CNI) plugin running in the cluster.

Enum values:
unknown_cni
cilium
calico
kilo
none
cilium_native
Default: unknown_cni
description
​string

Cluster description.

cluster_url
​string

Kubernetes API server URL of the cluster.

dns_wildcard
​string

Wildcard DNS resolving all the ready cluster nodes.

created_at
​string | null · date-time

Date on which the cluster was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the cluster was last updated. (RFC 3339 format)

Auto upgrade Kubernetes version of the cluster.

upgrade_available
​boolean

Defines whether a new Kubernetes version is available.

feature_gates
​string[]

List of enabled feature gates.

admission_plugins
​string[]

List of enabled admission plugins.

​scaleway.k8s.v1.Cluster.OpenIDConnectConfig

This configuration enables to update the OpenID Connect configuration of the Kubernetes API server.

apiserver_cert_sans
​string[]

Additional Subject Alternative Names for the Kubernetes API server certificate.

private_network_id
​string | null

Private network ID for internal cluster communication.

commitment_ends_at
​string | null · date-time

Date on which it will be possible to switch to a smaller offer. (RFC 3339 format)

iam_nodes_group_id
​string

IAM group that nodes are members of (this field might be empty during early stage of cluster creation).

iam_control_plane_application_id
​string

IAM application ID for the control plane (this field might be empty during early stage of cluster creation).

pod_cidr
​string

Subnet used for the Pod CIDR. (IP network)

service_cidr
​string

Subnet used for the Service CIDR. (IP network)

service_dns_ip
​string

IP used for the DNS Service. (IPv4 address)


Get a Cluster

GET
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters/{cluster_id}

Retrieve information about a specific Kubernetes cluster.

Get a Cluster › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil
cluster_id
​string · required

ID of the requested cluster.

Get a Cluster › Responses

200
id
​string

Cluster ID.

srn
​string

The SRN of the cluster.

type
​string

Cluster type.

name
​string

Cluster name.

status
​scaleway.k8s.v1.Cluster.Status · enum

Status of the cluster.

Enum values:
unknown
creating
ready
deleting
deleted
updating
locked
pool_required
Default: unknown
version
​string

Kubernetes version of the cluster.

region
​string

Region in which the cluster is deployed.

organization_id
​string

ID of the Organization owning the cluster.

project_id
​string

ID of the Project owning the cluster.

tags
​string[]

Tags associated with the cluster.

cni
​scaleway.k8s.v1.CNI · enum

Container Network Interface (CNI) plugin running in the cluster.

Enum values:
unknown_cni
cilium
calico
kilo
none
cilium_native
Default: unknown_cni
description
​string

Cluster description.

cluster_url
​string

Kubernetes API server URL of the cluster.

dns_wildcard
​string

Wildcard DNS resolving all the ready cluster nodes.

created_at
​string | null · date-time

Date on which the cluster was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the cluster was last updated. (RFC 3339 format)

Auto upgrade Kubernetes version of the cluster.

upgrade_available
​boolean

Defines whether a new Kubernetes version is available.

feature_gates
​string[]

List of enabled feature gates.

admission_plugins
​string[]

List of enabled admission plugins.

​scaleway.k8s.v1.Cluster.OpenIDConnectConfig

This configuration enables to update the OpenID Connect configuration of the Kubernetes API server.

apiserver_cert_sans
​string[]

Additional Subject Alternative Names for the Kubernetes API server certificate.

private_network_id
​string | null

Private network ID for internal cluster communication.

commitment_ends_at
​string | null · date-time

Date on which it will be possible to switch to a smaller offer. (RFC 3339 format)

iam_nodes_group_id
​string

IAM group that nodes are members of (this field might be empty during early stage of cluster creation).

iam_control_plane_application_id
​string

IAM application ID for the control plane (this field might be empty during early stage of cluster creation).

pod_cidr
​string

Subnet used for the Pod CIDR. (IP network)

service_cidr
​string

Subnet used for the Service CIDR. (IP network)

service_dns_ip
​string

IP used for the DNS Service. (IPv4 address)


Delete a Cluster

DELETE
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters/{cluster_id}

Delete a specific Kubernetes cluster and all its associated pools and nodes, and possibly its associated Load Balancers or Block Volumes.

Delete a Cluster › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil
cluster_id
​string · required

ID of the cluster to delete.

Delete a Cluster › query Parameters

with_additional_resources
​boolean · required

Defines whether all volumes (including retain volume type), empty Private Networks and Load Balancers with a name starting with the cluster ID will also be deleted.

Delete a Cluster › Responses

200
id
​string

Cluster ID.

srn
​string

The SRN of the cluster.

type
​string

Cluster type.

name
​string

Cluster name.

status
​scaleway.k8s.v1.Cluster.Status · enum

Status of the cluster.

Enum values:
unknown
creating
ready
deleting
deleted
updating
locked
pool_required
Default: unknown
version
​string

Kubernetes version of the cluster.

region
​string

Region in which the cluster is deployed.

organization_id
​string

ID of the Organization owning the cluster.

project_id
​string

ID of the Project owning the cluster.

tags
​string[]

Tags associated with the cluster.

cni
​scaleway.k8s.v1.CNI · enum

Container Network Interface (CNI) plugin running in the cluster.

Enum values:
unknown_cni
cilium
calico
kilo
none
cilium_native
Default: unknown_cni
description
​string

Cluster description.

cluster_url
​string

Kubernetes API server URL of the cluster.

dns_wildcard
​string

Wildcard DNS resolving all the ready cluster nodes.

created_at
​string | null · date-time

Date on which the cluster was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the cluster was last updated. (RFC 3339 format)

Auto upgrade Kubernetes version of the cluster.

upgrade_available
​boolean

Defines whether a new Kubernetes version is available.

feature_gates
​string[]

List of enabled feature gates.

admission_plugins
​string[]

List of enabled admission plugins.

​scaleway.k8s.v1.Cluster.OpenIDConnectConfig

This configuration enables to update the OpenID Connect configuration of the Kubernetes API server.

apiserver_cert_sans
​string[]

Additional Subject Alternative Names for the Kubernetes API server certificate.

private_network_id
​string | null

Private network ID for internal cluster communication.

commitment_ends_at
​string | null · date-time

Date on which it will be possible to switch to a smaller offer. (RFC 3339 format)

iam_nodes_group_id
​string

IAM group that nodes are members of (this field might be empty during early stage of cluster creation).

iam_control_plane_application_id
​string

IAM application ID for the control plane (this field might be empty during early stage of cluster creation).

pod_cidr
​string

Subnet used for the Pod CIDR. (IP network)

service_cidr
​string

Subnet used for the Service CIDR. (IP network)

service_dns_ip
​string

IP used for the DNS Service. (IPv4 address)


Update a Cluster

PATCH
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters/{cluster_id}

Update information on a specific Kubernetes cluster. You can update details such as its name, description, tags and configuration. To upgrade a cluster, you will need to use the dedicated endpoint.

Update a Cluster › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil
cluster_id
​string · required

ID of the cluster to update.

Update a Cluster › Request Body

name
​string | null

New external name for the cluster.

description
​string | null

New description for the cluster.

tags
​array | null

New tags associated with the cluster.

New autoscaler config for the cluster.

New auto upgrade configuration for the cluster. Note that all fields needs to be set.

feature_gates
​array | null

List of feature gates to enable.

admission_plugins
​array | null

List of admission plugins to enable.

OpenID Connect configuration of the cluster. This configuration enables to update the OpenID Connect configuration of the Kubernetes API server.

apiserver_cert_sans
​array | null

Additional Subject Alternative Names for the Kubernetes API server certificate.

Update a Cluster › Responses

200
id
​string

Cluster ID.

srn
​string

The SRN of the cluster.

type
​string

Cluster type.

name
​string

Cluster name.

status
​scaleway.k8s.v1.Cluster.Status · enum

Status of the cluster.

Enum values:
unknown
creating
ready
deleting
deleted
updating
locked
pool_required
Default: unknown
version
​string

Kubernetes version of the cluster.

region
​string

Region in which the cluster is deployed.

organization_id
​string

ID of the Organization owning the cluster.

project_id
​string

ID of the Project owning the cluster.

tags
​string[]

Tags associated with the cluster.

cni
​scaleway.k8s.v1.CNI · enum

Container Network Interface (CNI) plugin running in the cluster.

Enum values:
unknown_cni
cilium
calico
kilo
none
cilium_native
Default: unknown_cni
description
​string

Cluster description.

cluster_url
​string

Kubernetes API server URL of the cluster.

dns_wildcard
​string

Wildcard DNS resolving all the ready cluster nodes.

created_at
​string | null · date-time

Date on which the cluster was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the cluster was last updated. (RFC 3339 format)

Auto upgrade Kubernetes version of the cluster.

upgrade_available
​boolean

Defines whether a new Kubernetes version is available.

feature_gates
​string[]

List of enabled feature gates.

admission_plugins
​string[]

List of enabled admission plugins.

​scaleway.k8s.v1.Cluster.OpenIDConnectConfig

This configuration enables to update the OpenID Connect configuration of the Kubernetes API server.

apiserver_cert_sans
​string[]

Additional Subject Alternative Names for the Kubernetes API server certificate.

private_network_id
​string | null

Private network ID for internal cluster communication.

commitment_ends_at
​string | null · date-time

Date on which it will be possible to switch to a smaller offer. (RFC 3339 format)

iam_nodes_group_id
​string

IAM group that nodes are members of (this field might be empty during early stage of cluster creation).

iam_control_plane_application_id
​string

IAM application ID for the control plane (this field might be empty during early stage of cluster creation).

pod_cidr
​string

Subnet used for the Pod CIDR. (IP network)

service_cidr
​string

Subnet used for the Service CIDR. (IP network)

service_dns_ip
​string

IP used for the DNS Service. (IPv4 address)


List available cluster types for a cluster

GET
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters/{cluster_id}/available-types

List the cluster types that a specific Kubernetes cluster is allowed to switch to.

List available cluster types for a cluster › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil
cluster_id
​string · required

Cluster ID for which the available Kubernetes types will be listed.

List available cluster types for a cluster › Responses

200
​scaleway.k8s.v1.ClusterType[]

Available cluster types for the cluster.

total_count
​integer · uint64

Total number of types.


List available versions for a Cluster

GET
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters/{cluster_id}/available-versions

List the versions that a specific Kubernetes cluster is allowed to upgrade to. Results will include every patch version greater than the current patch, as well as one minor version ahead of the current version. Any upgrade skipping a minor version will not work.

List available versions for a Cluster › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil
cluster_id
​string · required

Cluster ID for which the available Kubernetes versions will be listed.

List available versions for a Cluster › Responses

200

Available Kubernetes versions for the cluster.


Download the kubeconfig for a Cluster

GET
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters/{cluster_id}/kubeconfig

Download the Kubernetes cluster config file (also known as kubeconfig) for a specific cluster to use it with kubectl. Tip: add ?dl=1 at the end of the URL to directly retrieve the base64 decoded kubeconfig. If you choose not to, the kubeconfig will be base64 encoded.

Download the kubeconfig for a Cluster › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil
cluster_id
​string · required

Cluster ID for which to download the kubeconfig.

Download the kubeconfig for a Cluster › query Parameters

redacted
​boolean

Hide the legacy token from the kubeconfig.

Which endpoint to use to reach the APIServer (default: public).

Enum values:
unknown_endpoint
public
vpc
Default: unknown_endpoint

Download the kubeconfig for a Cluster › Responses

200
name
​string
content_type
​string
content
​string

Reset the admin token of a Cluster

POST
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters/{cluster_id}/reset-admin-token

Reset the admin token for a specific Kubernetes cluster. This will revoke the old admin token (which will not be usable afterwards) and create a new one. Note that you will need to download the kubeconfig again to keep interacting with the cluster.

Reset the admin token of a Cluster › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil
cluster_id
​string · required

Cluster ID on which the admin token will be renewed.

Reset the admin token of a Cluster › Request Body

Reset the admin token of a Cluster › Responses

No data returned

Change the Cluster type

POST
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters/{cluster_id}/set-type

Change the type of a specific Kubernetes cluster. To see the possible values you can enter for the type field, list available cluster types.

Change the Cluster type › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil
cluster_id
​string · required

ID of the cluster to migrate from one type to another.

Change the Cluster type › Request Body

type
​string · required

Type of the cluster. Note that some migrations are not possible (please refer to product documentation).

Change the Cluster type › Responses

200
id
​string

Cluster ID.

srn
​string

The SRN of the cluster.

type
​string

Cluster type.

name
​string

Cluster name.

status
​scaleway.k8s.v1.Cluster.Status · enum

Status of the cluster.

Enum values:
unknown
creating
ready
deleting
deleted
updating
locked
pool_required
Default: unknown
version
​string

Kubernetes version of the cluster.

region
​string

Region in which the cluster is deployed.

organization_id
​string

ID of the Organization owning the cluster.

project_id
​string

ID of the Project owning the cluster.

tags
​string[]

Tags associated with the cluster.

cni
​scaleway.k8s.v1.CNI · enum

Container Network Interface (CNI) plugin running in the cluster.

Enum values:
unknown_cni
cilium
calico
kilo
none
cilium_native
Default: unknown_cni
description
​string

Cluster description.

cluster_url
​string

Kubernetes API server URL of the cluster.

dns_wildcard
​string

Wildcard DNS resolving all the ready cluster nodes.

created_at
​string | null · date-time

Date on which the cluster was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the cluster was last updated. (RFC 3339 format)

Auto upgrade Kubernetes version of the cluster.

upgrade_available
​boolean

Defines whether a new Kubernetes version is available.

feature_gates
​string[]

List of enabled feature gates.

admission_plugins
​string[]

List of enabled admission plugins.

​scaleway.k8s.v1.Cluster.OpenIDConnectConfig

This configuration enables to update the OpenID Connect configuration of the Kubernetes API server.

apiserver_cert_sans
​string[]

Additional Subject Alternative Names for the Kubernetes API server certificate.

private_network_id
​string | null

Private network ID for internal cluster communication.

commitment_ends_at
​string | null · date-time

Date on which it will be possible to switch to a smaller offer. (RFC 3339 format)

iam_nodes_group_id
​string

IAM group that nodes are members of (this field might be empty during early stage of cluster creation).

iam_control_plane_application_id
​string

IAM application ID for the control plane (this field might be empty during early stage of cluster creation).

pod_cidr
​string

Subnet used for the Pod CIDR. (IP network)

service_cidr
​string

Subnet used for the Service CIDR. (IP network)

service_dns_ip
​string

IP used for the DNS Service. (IPv4 address)


Upgrade a Cluster

POST
https://api.scaleway.com
/k8s/v1/regions/{region}/clusters/{cluster_id}/upgrade

Upgrade a specific Kubernetes cluster and possibly its associated pools to a specific and supported Kubernetes version.

Upgrade a Cluster › path Parameters

region
​string · enum · required

The region you want to target

Enum values:
fr-par
nl-ams
pl-waw
it-mil
cluster_id
​string · required

ID of the cluster to upgrade.

Upgrade a Cluster › Request Body

version
​string · required

New Kubernetes version of the cluster. Note that the version should either be a higher patch version of the same minor version or the direct minor version after the current one.

upgrade_pools
​boolean

Defines whether pools will also be upgraded once the control plane is upgraded.

Upgrade a Cluster › Responses

200
id
​string

Cluster ID.

srn
​string

The SRN of the cluster.

type
​string

Cluster type.

name
​string

Cluster name.

status
​scaleway.k8s.v1.Cluster.Status · enum

Status of the cluster.

Enum values:
unknown
creating
ready
deleting
deleted
updating
locked
pool_required
Default: unknown
version
​string

Kubernetes version of the cluster.

region
​string

Region in which the cluster is deployed.

organization_id
​string

ID of the Organization owning the cluster.

project_id
​string

ID of the Project owning the cluster.

tags
​string[]

Tags associated with the cluster.

cni
​scaleway.k8s.v1.CNI · enum

Container Network Interface (CNI) plugin running in the cluster.

Enum values:
unknown_cni
cilium
calico
kilo
none
cilium_native
Default: unknown_cni
description
​string

Cluster description.

cluster_url
​string

Kubernetes API server URL of the cluster.

dns_wildcard
​string

Wildcard DNS resolving all the ready cluster nodes.

created_at
​string | null · date-time

Date on which the cluster was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the cluster was last updated. (RFC 3339 format)

Auto upgrade Kubernetes version of the cluster.

upgrade_available
​boolean

Defines whether a new Kubernetes version is available.

feature_gates
​string[]

List of enabled feature gates.

admission_plugins
​string[]

List of enabled admission plugins.

​scaleway.k8s.v1.Cluster.OpenIDConnectConfig

This configuration enables to update the OpenID Connect configuration of the Kubernetes API server.

apiserver_cert_sans
​string[]

Additional Subject Alternative Names for the Kubernetes API server certificate.

private_network_id
​string | null

Private network ID for internal cluster communication.

commitment_ends_at
​string | null · date-time

Date on which it will be possible to switch to a smaller offer. (RFC 3339 format)

iam_nodes_group_id
​string

IAM group that nodes are members of (this field might be empty during early stage of cluster creation).

iam_control_plane_application_id
​string

IAM application ID for the control plane (this field might be empty during early stage of cluster creation).

pod_cidr
​string

Subnet used for the Pod CIDR. (IP network)

service_cidr
​string

Subnet used for the Service CIDR. (IP network)

service_dns_ip
​string

IP used for the DNS Service. (IPv4 address)