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)