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)