Kubernetes deployment

Kubernetes deployment

Voor het vak Linux Webservices heb ik een application uitgerold naar een Kubernetes-cluster. Deze cluster heb ik dan klaargemaakt voor veel verkeer door gebruik te maken van een load-balancer (Nginx ingress). Ook heb ik ArgoCD geïnstalleerd, waardoor de cluster automatisch vernieuwd wordt bij een push naar GitHub. Om de cluster en servers te monitoren heb ik Prometheus geïnstalleerd.

De nadruk van dit project lag niet op de applicatie zelf, maar de infrastructuur erachter.

Applicatie

De applicatie die ik gedeployed heb ik bestaat uit een simpel HTML-bestand als frontend met een Javascript-script dat data uit de database haalt. Ook heb ik een NodeJS-API gemaakt die data uit de MondgoDB-database teruggeeft. Ten slotte heb ik gebruik gemaakt van MongoDB als database en heb ik een script geschreven dan mijn naam in de database zet.

Van elk van deze onderdelen heb ik een Docker-container gebouwd en deze geüpload naar DockerHub.

Cluster

Ik heb een echte cluster nagebootst met virtuele computers. De configuratie van deze VMs heb ik gedeclareerd met Vagrant.

Hierna heb ik de configuratiebestanden van de cluster geschreven.

Resultaat, merk op dat het container ID verschilt. Dit is door de load-balancer. Prometheus monitoring Argo CD