From 4a8725fde42ef4136799fa4d8ab4187d24cfe0a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Petazzoni?= Date: Wed, 1 Oct 2025 16:44:11 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Update=20vcluster=20Helm?= =?UTF-8?q?=20chart;=20improve=20konk=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is now possible to have multiple konk clusters in parallel, thanks to the KONKTAG environment variable. --- prepare-labs/konk.sh | 20 +++++++--- .../terraform/one-kubernetes/vcluster/main.tf | 38 ++++++++++++------- 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/prepare-labs/konk.sh b/prepare-labs/konk.sh index 52869017..4a538697 100755 --- a/prepare-labs/konk.sh +++ b/prepare-labs/konk.sh @@ -5,16 +5,22 @@ # 10% CPU # (See https://docs.google.com/document/d/1n0lwp6rQKQUIuo_A5LQ1dgCzrmjkDjmDtNj1Jn92UrI) # PRO2-XS = 4 core, 16 gb +# +# With vspod: +# 800 MB RAM +# 33% CPU +# set -e -PROVIDER=scaleway -STUDENTS=30 +KONKTAG=konk +PROVIDER=linode +STUDENTS=5 case "$PROVIDER" in linode) export TF_VAR_node_size=g6-standard-6 - export TF_VAR_location=us-east + export TF_VAR_location=fr-par ;; scaleway) export TF_VAR_node_size=PRO2-XS @@ -28,11 +34,13 @@ esac export KUBECONFIG=~/kubeconfig if [ "$PROVIDER" = "kind" ]; then - kind create cluster --name konk + kind create cluster --name $KONKTAG ADDRTYPE=InternalIP else - ./labctl create --mode mk8s --settings settings/konk.env --provider $PROVIDER --tag konk - cp tags/konk/stage2/kubeconfig.101 $KUBECONFIG + if ! [ -f tags/$KONKTAG/stage2/kubeconfig.101 ]; then + ./labctl create --mode mk8s --settings settings/konk.env --provider $PROVIDER --tag $KONKTAG + fi + cp tags/$KONKTAG/stage2/kubeconfig.101 $KUBECONFIG ADDRTYPE=ExternalIP fi diff --git a/prepare-labs/terraform/one-kubernetes/vcluster/main.tf b/prepare-labs/terraform/one-kubernetes/vcluster/main.tf index e7431108..cb948de0 100644 --- a/prepare-labs/terraform/one-kubernetes/vcluster/main.tf +++ b/prepare-labs/terraform/one-kubernetes/vcluster/main.tf @@ -4,23 +4,35 @@ resource "helm_release" "_" { create_namespace = true repository = "https://charts.loft.sh" chart = "vcluster" - version = "0.19.7" + version = "0.27.1" values = [ yamlencode({ - service = { - type = "NodePort" - } - storage = { - persistence = false - } - sync = { - nodes = { - enabled = true - syncAllNodes = true + controlPlane = { + proxy = { + extraSANs = [ local.guest_api_server_host ] + } + service = { + spec = { + type = "NodePort" + } + } + statefulSet = { + persistence = { + volumeClaim = { + enabled = true + } + } } } - syncer = { - extraArgs = ["--tls-san=${local.guest_api_server_host}"] + sync = { + fromHost = { + nodes = { + enabled = true + selector = { + all = true + } + } + } } }) ]