In deze tutorial gaan we:
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
defineertkind: Pod
het type object dat wordt aangemaaktmetadata:
de metadata die moet worden meegegeven, hier kan op geselecteerd en gefilterd wordenname: nginx
de naam van de pod (container)spec:
specificaties van het object, in dit geval de podcontainers:
de container wordt gespecificeerdimage: nginx
, name: nginx
het image moet nginx worden, en de naam van het image is ook nginxrestartPolicy: Always
geef Kubernetes de opdracht de pod te herstarten wanneer de pod zou crashenOm 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
Om het resultaat te bekijken en details van je eerste pod te zien kun je de volgende commando's uitvoeren:
kubectl get pods
en kubectl describe pods nginx
kubectl port-forward nginx 80:80
kubectl logs nginx
. Gebruik kubectl logs nginx -f
om de logs te volgen terwijl ze aangemaakt wordenkubectl exec -it nginx -- bash
, dit is afhankelijk van het originele OS image waarop de container gebaseerd isWil 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
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: