Lab 03: Challenge: Pods¶
Teil 1: Pod-Erstellung, -Konfiguration und Troubleshooting¶
- Erzeuge einen neuen Namespace und nenne ihn
ckad.Am einfachsten geht dies mit dem Befehl
kubectl create namespace ckad. - Erstelle im Namespace
ckadeinen Pod namensnginx, der das Imagenginx:1.29verwendet und den Container-Port 80 exponiert. - Rufe anschließend die Details (
describe) des Pods ab, inklusive seiner IP-Adresse. - Erstelle mit dem Image
busybox:1.37einen temporären Pod, um darin einenwget-Befehl auszuführen. Dieserwget-Aufruf soll den Endpunkt desnginx-Containers ansprechen. Bestätige den Erfolg, indem der HTML-Response-Body im Terminal erscheint. - Lasse dir die Logs des
nginx-Containers anzeigen. - Lösche den Pod. Erstelle einen neuen Pod und verwende die folgenden Umgebungsvariablen für dein Container:
DB_URL=postgresql://mydb:5432DB_USERNAME=admin- Öffne eine interaktive Shell innerhalb des
nginx-Containers, führels -laus, um den aktuellen Verzeichnisinhalt zu prüfen. Lasse dir außerdem mitprintenvdie Umgebungsvariablen anzeigen. Verlasse anschließend die Shell.Um eine Shell in einem Pod zu öffnen, kannst du den Befehl
kubectl exec -it nginx -- /bin/shverwenden.
Teil 2: YAML-Spezifikationen¶
- Schreibe in einer Datei ein YAML-Manifest für einen Pod namens
loop, der das Imagebusybox:1.37nutzt. 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 yamlerzeugen. - Erstelle den Pod mithilfe dieses YAML-Manifests.
- Ermittle den aktuellen Status des
loop-Pods. - 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 mitwhile true; do date; sleep 1; doneerstellen. - Untersuche die Events sowie den Status des
loop-Pods.