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
Probes
verhalten.
- Du weißt, wann du welchen zum Einsatz bringst und wie sich die
- Du kennst die 3 Einsatzzwecke für
Probes
und weißt, wie sich diese unterscheiden. - Warum braucht man neben Liveness und Startup noch die Readiness
Probes
? - Du kennst
named ports
und kannst dir vorstellen warum das nützlich sein kann. - Du weißt, wie sich Liveness und Readiness
Probes
im Zusammenspiel verhalten. - Du weißt, warum Containern Requests und Limits für CPU und RAM zugewiesen werden.
- Man weist
limits
undrequests
zu. 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
250m
zuweist. - 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
ResourceQuota
Ressourcen 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
notestar
ein 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
Probes
für deinnotestar
Deployment. 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)