Ziele
- Du verstehst, warum man Healthchecks u.ä. haben möchte. Du weißt auch, dass solche Checks nicht exklusiv für Kubernetes vorhanden sind.
- Du kennst die 3 Typen von Probes, die man für Container anlegen kann- Du weißt, wann du welchen zum Einsatz bringst und wie sich die Probesverhalten.
 
- Du weißt, wann du welchen zum Einsatz bringst und wie sich die 
- Du kennst die 3 Einsatzzwecke für Probesund weißt, wie sich diese unterscheiden.
- Warum braucht man neben Liveness und Startup noch die Readiness Probes?
- Du kennst named portsund kannst dir vorstellen warum das nützlich sein kann.
- Du weißt, wie sich Liveness und Readiness Probesim Zusammenspiel verhalten.
- Du weißt, warum Containern Requests und Limits für CPU und RAM zugewiesen werden.
- Man weist limitsundrequestszu. Du verstehst, in welchem Verhältnis diese Werte zueinander stehen. Außerdem kannst du abschätzen, was es bedeutet, wenn viele Workloads auf einer Node ihr Limit ausreizen.
- Du weißt, wie viele CPU Ressourcen ein Container maximal erhält, dem man ein Limit von 250mzuweist.
- Welches Linux Feature wird verwendet, um die CPU und Memory Limits umzusetzen?
- Du verstehst, wie Limits für Netzwerke umgesetzt werden und wie es sich mit dem Limit und Burst verhält
- Du kannst erklären, für was ResourceQuotaRessourcen da sind.
Inhalte
Einige der Inhalte sind ggf. sehr umfangreich. Versuche dich an den Zielen zu orientieren.
- Kapitel 13 und 14 aus "The Book of Kubernetes" von Alan Hohn
- Configure Liveness, Readiness and Startup Probes Show archive.org snapshot
- Resource Management for Pods and Containers Show archive.org snapshot
- Configure Memory and CPU Quotas for a Namespace Show archive.org snapshot
Aufgaben
- Füge beim Starten von notestarein sleep Show archive.org snapshot für 30 Sekunden hinzu. Gibt es eine Downtime wenn du diese neue Version deployest?
- Konfiguriere Liveness, Startup und Readiness Probesfür deinnotestarDeployment. Du kannstGET /dafür verwenden. Gibt es jetzt noch Downtimes beim deployen?
- Ändere den Pfad für Readiness auf einen nicht existierenden Pfad. Was passiert jetzt?
- Reverte den Change von Nummer 3.
Posted by Claus-Theodor Riegg to DevOps Curriculum (2023-02-06 09:40)