Zum Inhalt

Lab 03: Challenge: Pods

Teil 1: Pod-Erstellung, -Konfiguration und Troubleshooting

  1. Erzeuge einen neuen Namespace und nenne ihn ckad.

    Am einfachsten geht dies mit dem Befehl kubectl create namespace ckad.

  2. Erstelle im Namespace ckad einen Pod namens nginx, der das Image nginx:1.29 verwendet und den Container-Port 80 exponiert.
  3. Rufe anschließend die Details (describe) des Pods ab, inklusive seiner IP-Adresse.
  4. Erstelle mit dem Image busybox:1.37 einen temporären Pod, um darin einen wget-Befehl auszuführen. Dieser wget-Aufruf soll den Endpunkt des nginx-Containers ansprechen. Bestätige den Erfolg, indem der HTML-Response-Body im Terminal erscheint.
  5. Lasse dir die Logs des nginx-Containers anzeigen.
  6. Lösche den Pod. Erstelle einen neuen Pod und verwende die folgenden Umgebungsvariablen für dein Container:
  7. DB_URL=postgresql://mydb:5432
  8. DB_USERNAME=admin
  9. Öffne eine interaktive Shell innerhalb des nginx-Containers, führe ls -l aus, um den aktuellen Verzeichnisinhalt zu prüfen. Lasse dir außerdem mit printenv die Umgebungsvariablen anzeigen. Verlasse anschließend die Shell.

    Um eine Shell in einem Pod zu öffnen, kannst du den Befehl kubectl exec -it nginx -- /bin/sh verwenden.

Teil 2: YAML-Spezifikationen

  1. Schreibe in einer Datei ein YAML-Manifest für einen Pod namens loop, der das Image busybox:1.37 nutzt. Der Container des Pods soll unmittelbar nach dem Start folgenden Befehl ausführen: for i in $(seq 10); do echo "Welcome $i times"; done.

    Eine Vorlage für einen neuen Pod kannst du mit dem Befehl kubectl run nginx --image=busybox:1.37 --dry-run=client -o yaml erzeugen.

  2. Erstelle den Pod mithilfe dieses YAML-Manifests.
  3. Ermittle den aktuellen Status des loop-Pods.
  4. Lösche den loop-Pod und lege ihn verändert neu an, indem du sein Kommando im YAML änderst. Das neue Kommando soll eine Endlosschleife sein, die bei jedem Durchlauf das aktuelle Datum ausgibt.

    In der Shell kannst du den date-Befehl ausführen, um das aktuelle Datum zu erhalten. Eine Endlosschleife kannst du mit while true; do date; sleep 1; done erstellen.

  5. Untersuche die Events sowie den Status des loop-Pods.