dansende-banaan.nl migreert naar multi node kubernetes cluster

 · Systeemkabouter

dansende-banaan.nl is mijn persoonlijk mastodon instance welke ik sinds december 2022 heb draaien. Het is vooral bedoeld als oefenterrein en ik heb er in eerste instantie vooral mee geconstateerd hoe goed of hoe slecht de meegeleverde helm chart werkt.

De hele setup heeft dus sinds december prima staan zoemen op een single node k3s kubernetes setup. de single node is dan een dedicated server welke ik huur bij Hetzner.

Maar recentelijk kwam ik een projectje tegen om het uitrollen en updaten van een redelijk complete cluster setup bovenop de hetzner cloud omgeving te vergemakkelijken. Ik heb eerder wel eens nagedacht aan het uitrollen van zoiets met bijvoorbeeld terraform, maar ik was er nog niet aan toe gekomen echt iets goeds neer te zetten.

Maar dit project (hetzner-k3s) zag er wel veelbelovend uit, dus daar wilde ik graag eens wat mee proberen.

Het lege cluster uitrollen was na een initiële hobbel eigenlijk wel heel eenvoudig. Inclusief loadbalancers en block storage geleverd door Hetzner zonder dat je er zelf echt in hoeft te duiken. Nice, very nice.

Maar je leert er pas echt wat van als je het echt gaat proberen te gebruiken. En dat was het doel van de migratie van dansende-banaan.nl naar dit nieuwe cluster dan ook. En dat was leerzaam, maar bovendien succesvol! Uiteraard waren er nog wel een paar dingen te leren en uit te vinden, maar de tooling zelf heeft eigenlijk geen steken laten vallen. De meeste tijd heb ik gestopt in het weer werkend krijgen van ingress, want ik ging van een simpele default traefik setup naar een setup met een Hetzner loadbalancer + nginx ingress. Allemaal geen rocket science maar net anders als het gewoontediertje verwacht had ;-)

Maar nu draait dansende-banaan.nl dus bovenop dit cluster. Op de oude single node k3s setup draait nog wat ander spul. Maar dat ga ik gewoon ook vlot overzetten en me de kosten van die extra capaciteit besparen.

loki:~ eelco$ kc get nodes
NAME                              STATUS   ROLES                       AGE   VERSION
vesikko-cx21-master1              Ready    control-plane,etcd,master   14h   v1.27.1+k3s1
vesikko-cx21-master2              Ready    control-plane,etcd,master   14h   v1.27.1+k3s1
vesikko-cx21-master3              Ready    control-plane,etcd,master   14h   v1.27.1+k3s1
vesikko-cx31-pool-small-worker1   Ready    <none>                      14h   v1.27.1+k3s1
vesikko-cx31-pool-small-worker2   Ready    <none>                      14h   v1.27.1+k3s1
loki:~ eelco$