This commit is contained in:
30
main.tf
30
main.tf
@ -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
|
||||||
|
}
|
||||||
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
output "cluster_kubeconfig" {
|
||||||
|
description = "the contents of generated KUBECONFIG file"
|
||||||
|
value = nonsensitive(scaleway_k8s_cluster.cluster.kubeconfig[0].config_file)
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
terraform {
|
||||||
|
required_providers {
|
||||||
|
scaleway = {
|
||||||
|
source = "scaleway/scaleway"
|
||||||
|
version = "~> 2.41.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
required_version = ">= 1.8"
|
||||||
|
}
|
21
variables.tf
21
variables.tf
@ -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"
|
||||||
|
}
|
Reference in New Issue
Block a user