first sync
Some checks failed
terraform validation / Terraform (push) Failing after 6s

This commit is contained in:
2025-01-02 14:25:42 +01:00
parent 35e2ff59f8
commit ae12f41e30
5 changed files with 72 additions and 0 deletions

30
main.tf
View File

@ -0,0 +1,30 @@
# getting lastest supported k8s version
data "scaleway_k8s_version" "latest" {
name = "latest"
region = "fr-par"
}
resource "scaleway_k8s_cluster" "cluster" {
name = var.cluster_name
# versions have the form region/version, so trimming the region part
version = trimprefix(data.scaleway_k8s_version.latest.id, "fr-par/")
cni = "cilium"
region = "fr-par"
# referencing the created network
private_network_id = scaleway_vpc_private_network.network.id
# set to true to delete all that wes created when destroying the cluster
delete_additional_resources = true
}
resource "scaleway_k8s_pool" "pool" {
# referencing the created cluster id
cluster_id = scaleway_k8s_cluster.cluster.id
name = "${var.node_type}-pool"
node_type = var.node_type
size = var.node_count
}

View File

@ -0,0 +1,8 @@
# scaleway cluster needs a private network
resource "scaleway_vpc_private_network" "network" {
name = "k8s-network"
ipv4_subnet {
subnet = "10.50.70.0/24"
}
}

View File

@ -0,0 +1,4 @@
output "cluster_kubeconfig" {
description = "the contents of generated KUBECONFIG file"
value = nonsensitive(scaleway_k8s_cluster.cluster.kubeconfig[0].config_file)
}

View File

@ -0,0 +1,9 @@
terraform {
required_providers {
scaleway = {
source = "scaleway/scaleway"
version = "~> 2.41.0"
}
}
required_version = ">= 1.8"
}

View File

@ -0,0 +1,21 @@
variable "cluster_name" {
type = string
description = "le nom du cluster à créer"
}
variable "node_count" {
type = number
description = "nombre d'instances à créer dans le pool de nœuds de cluster"
default = 1
validation {
condition = var.node_count > 0
error_message = "Le nombre de nœuds doit être supérieur à 0"
}
}
variable "node_type" {
type = string
description = "le type de nœud à créer dans le pool de nœuds de la grappe"
default = "DEV1-M"
}