Kubernetes
Context & achtergrond
Voor het vak Linux Webservices kregen we de opdracht om zelfstandig een volledig Kubernetes-cluster op te zetten en daarin een webapplicatie te draaien die bestaat uit een frontend, een API en een database. Het doel was om inzicht te krijgen in het opzetten, beheren en beveiligen van een moderne containergebaseerde infrastructuur, en om met tools zoals Kubernetes, TLS, monitoring en DNS te leren werken in een realistische opstelling.
Concrete & specifieke realisaties
Ik heb dit project volledig zelfstandig uitgewerkt. De cluster heb ik opgebouwd met behulp van KubeADM en gehost op virtuele machines die automatisch werden opgestart via Vagrant, inclusief aangepaste resources voor een stabiele werking. De applicatie in de cluster bestond uit een website die via een REST API gegevens ophaalde uit een achterliggende database. Daarnaast heb ik alle extra opdrachten geïntegreerd in mijn setup. Zo was mijn website publiek beschikbaar via HTTPS, waarbij ik met behulp van Cert-Manager automatisch TLS-certificaten genereerde en beheerde binnen de Kubernetes-omgeving. Mijn cluster had meerdere master- en worker-nodes voor betere schaalbaarheid en performantie. Tot slot werden alle services gemonitord met Prometheus en Grafana, die ik ook in de cluster had opgezet.
Wat ik geleerd heb
Dit project heeft me enorm veel bijgebracht over zowel de opbouw als de werking van Kubernetes-clusters. Ik heb geleerd hoe ik met Vagrant snel testomgevingen kan opzetten, hoe ik services op een veilige manier extern toegankelijk kan maken via TLS en DNS, en hoe ik inzicht krijg in het gedrag van applicaties via monitoringtools zoals Prometheus en Grafana. Omdat ik sterk geïnteresseerd ben in hosting, automatisatie en moderne infrastructuur, vond ik dit een bijzonder leerrijk en boeiend project waar ik met veel enthousiasme aan heb gewerkt.