Hallo wereld!

In deze tutorial gaan we:

  • een yaml bestand doornemen dat naar Kubernetes wordt gestuurd
  • kijken hoe we een container aanmaken op Kubernetes
  • details van de container bekijken
  • de container weggooien

yaml-bestand van een pod

Hieronder staat een voorbeeld van een configuratie van een meest basic nginx webserver.

In Kubernetes worden containers pods genoemd. Je kunt het bestand lezen als een boomstructuur, laten we er eens doorheen lopen:

  • apiVersion: v1 een waarde voor Kubernetes die de soort api "" (standaard interne) en de versie v1 defineert
  • kind: Pod het type object dat wordt aangemaakt
    • metadata: de metadata die moet worden meegegeven, hier kan op geselecteerd en gefilterd worden
      • name: nginx de naam van de pod (container)
  • spec: specificaties van het object, in dit geval de pod
    • containers: de container wordt gespecificeerd
      • image: nginx, name: nginx het image moet nginx worden, en de naam van het image is ook nginx
    • restartPolicy: Always geef Kubernetes de opdracht de pod te herstarten wanneer de pod zou crashen

Run nginx, run!

Om deze container online in Kubernetes te krijgen moeten we dit bestand toepassen, dit doen we op de volgende manier:

kubectl apply -f <map>/helloworld.yaml

Ook kan je direct een pod aanmaken met kubectl run nginx --image nginx

Watcha dooooing?!?

Om het resultaat te bekijken en details van je eerste pod te zien kun je de volgende commando's uitvoeren:

  • Informatie over je pod:
    kubectl get pods en kubectl describe pods nginx
  • Bekijk je service lokaal met:
    kubectl port-forward nginx 80:80
  • Bekijk de logs met:
    kubectl logs nginx. Gebruik kubectl logs nginx -f om de logs te volgen terwijl ze aangemaakt worden
  • Werk op de commandline van de container met:
    kubectl exec -it nginx -- bash, dit is afhankelijk van het originele OS image waarop de container gebaseerd is

Wil je aanpassingen doen aan je originele yaml? Gebruik dan kubectl edit pod/nginx. Dit is waarschijnlijk een veel grotere yaml die je hebt opgestuurd, omdat hier ook allerlei standaard waarden en metadata aan toegevoegd is door Kubernetes. Makkelijker is het bestand aan te passen en dan nogmaals: kubectl apply -f <map>/helloworld.yaml
 

Bye, bye, bye

Als je klaar bent met je container kun je deze op de volgende manier verwijderen:

kubectl delete pod/nginx of kubectl delete -f <map>/helloworld.yaml

Nu je een beetje bekend bent met de basics, is het tijd om je eerste statische site te lanceren op Kubernetes:

To infinity and beyond!