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 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
und requests
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.
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 dein notestar
Deployment. Du kannst GET /
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)