Kubernetes as Code: creatie van een Kubernete-cluster

Andy Geluykens

06/01/2021  ·   2 min read

Maak een Kubernetes-cluster vanuit het niets zonder je hardware of hypervisor aan te raken.

Infrastructure as Code (IaC) is een term die elke developer ondertussen wel kent. Velen onder jullie maken reeds gebruik van declaratieve code om infrastructuur te beheren en software te installeren, maar in dit artikel wil ik een stapje verder gaan en bouw ik een Kubernetes-cluster volledig met declaratieve code.

Er zijn veel tools die we daarvoor kunnen gebruiken, ik ga gebruik maken van Terraform, Ansible en RKE (Rancher Kubernetes Engine).

 

Je zal nog nooit een Kubernetes-cluster zo eenvoudig online gebracht hebben, waarin recovery en back-up bijna te verwaarlozen is. Toch alles stuk? Met de juiste voorbereiding breng je de cluster terug online in no-time met alle bijhorende applicaties. Een methode die ik steeds gebruik bij onze klanten en waarmee ze zelf in de toekomst aan de slag kunnen.

Let’s go!

Stap 1: Provisioning (IT-infrastructuur opzetten)

Bare-metal, cloud, virtueel, … met Terraform beheer je infrastructuur als begrijpbare code. Met één commando terraform apply maak je nieuwe infrastructuur componenten, verwijder je componenten of pas je ze aan: ook gekend als day-2 operations. Dit allemaal in slechts enkele minuten!

 

Stap 2: Requirement configuration

Nadat de infrastructuur is aangemaakt, moeten we deze voorbereiden met de juiste requirements. We houden ons bij Infrastructure as Code en gebruiken Ansible om de infrastructuur klaar te maken voor de deployment van een Kubernetes-cluster. In deze voorbereiding behandelen we topics zoals:

 

  • Patching
  • Software requirements
  • Troubleshooting tools
  • Root certificaten
  • Authenticatie
  • Mail settings
  • Firewall

 

 

Stap 3: Deployment

De infrastructuur is nu volledig klaar. Maar hoe gaan we die Kubernetes-cluster daarop krijgen? We gaan opnieuw aan de slag met Infrastructure as Code en kijken naar Rancher Kubernetes Engine (RKE). RKE is de methode die Rancher gebruikt om clusters aan te maken zowel on-prem als in de cloud. We gaan deze methode ook gebruiken om de Kubernetes-cluster aan te maken in 3 stappen:

 

  • Installatie van de RKE software >> CLI-tool
  • Configuratie van een yml-file >> de file beschrijft de Kubernetes-cluster, inclusief de infrastructuur waarop deze moet komen
  • Uitvoeren van het commando `RKE up’ >> Deze maakt contact met de infrastructuur via SSH (Secure Shell) en brengt alles online

 

Van zodra dit is uitgevoerd, wordt er op het toestel waarop het commando werd uitgevoerd een kube_config_cluster.yml-file aangemaakt. Dan rest er ons nog enkel:

 

  • Installatie van de kubectl-software
  • Uitvoeren van het commando `export KUBECONFIG=kube_config_cluster.yml`
  • Uitvoeren van het commando `kubectl get node`

 

 

Conclusie

Met de juiste voorbereiding en kennis is het gebruik van deze procedure zeer eenvoudig en kan je snel aan de slag met Kubernetes. Nadien kan er gekeken worden naar:

  • Load balancing
  • Monitoring
  • CI/CD
  • Patching
  • Secret management

 

 

 

Ook aan de slag met Kubernetes?
We helpen je graag op weg!

Contacteer ons