create_scaleway_cluster
Create and provision a new self-hosted Kubernetes cluster on Scaleway Instances. Requires a Scaleway credential, SSH key credential, region, and zone. Creates a new private network by default; pass private_network_id to attach an existing one. The default public gateway type is 'VPC-GW-S'. Use list_provider_credentials to find credential IDs and list_instance_types with provider='scaleway' for instance sizes (e.g. 'DEV1-M', 'GP1-S'). Kapsule (managed) creation remains available in the portal and CLI. Only available to organisations with Scaleway enabled.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Cluster name. Must be unique within the organisation. | |
| zone | Yes | Scaleway zone within the region (e.g., 'fr-par-1', 'nl-ams-1'). | |
| region | Yes | Scaleway region (e.g., 'fr-par', 'nl-ams', 'pl-waw'). | |
| description | No | Optional cluster description. | |
| worker_type | No | Instance type for worker nodes. Default: 'DEV1-M'. | |
| bastion_port | No | Managed bastion SSH port on the gateway: 1024-59999, or exactly 61000. Default: 61000. | |
| distribution | No | Kubernetes distribution. Default: 'kubeadm' (vanilla upstream Kubernetes with Cilium). 'k3s' is the lightweight alternative. | |
| gateway_type | No | Scaleway VPC public gateway type (e.g., 'VPC-GW-S', 'VPC-GW-M'). Default: 'VPC-GW-S'. | |
| worker_count | No | Number of worker nodes. Default: 1. | |
| credential_id | Yes | UUID of the Scaleway API credential. Get from list_provider_credentials with provider='scaleway'. | |
| network_ip_range | No | Optional CIDR for the new private network (e.g., '10.64.0.0/20'). | |
| retention_policy | No | Storage retention on teardown. Default: 'retain'. | |
| control_plane_type | No | Instance type for control plane nodes. Default: 'DEV1-M'. | |
| kubernetes_version | No | Kubernetes version. If not specified, uses the latest supported version. | |
| private_network_id | No | Existing Scaleway private network ID to attach; omit to create a new private network. | |
| control_plane_count | No | Number of control plane nodes. Default: 1. | |
| ssh_key_credential_id | Yes | UUID of the SSH key credential. Get from list_provider_credentials with provider='ssh-key'. |