{"id":38965,"date":"2019-10-31T22:27:03","date_gmt":"2019-10-31T19:27:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/liveness-probes-v-kubernetes-mogut-byt-opasny\/"},"modified":"2019-10-31T22:27:03","modified_gmt":"2019-10-31T19:27:03","slug":"liveness-probes-v-kubernetes-mogut-byt-opasny","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","title":{"rendered":"Liveness-Probes in Kubernetes k\u00f6nnen gef\u00e4hrlich sein","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Anmerkung des \u00dcbersetzers.<\/b>: Der leitende Ingenieur von Zalando \u2013 Henning Jacobs \u2013 hat wiederholt festgestellt, dass Nutzer von Kubernetes Schwierigkeiten haben, den Zweck von liveness (und readiness) probes und deren angemessene Anwendung zu verstehen. Daher hat er seine Gedanken in dieser knappen Notiz zusammengefasst, die im Laufe der Zeit Teil der K8s-Dokumentation werden wird.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Liveness-Probes in Kubernetes k\u00f6nnen gef\u00e4hrlich sein\" src=\"\/wp-content\/uploads\/2019\/10\/b246e18dadd582889382f306508135a8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZustandspr\u00fcfungen, die in Kubernetes als <i>liveness probes<\/i> <i>bezeichnet werden (d.h. w\u00f6rtlich \u201eLebensf\u00e4higkeitstests\u201c \u2013 Anm. d. \u00dcbersetzers),<\/i>k\u00f6nnen sehr gef\u00e4hrlich sein. Ich empfehle, sie nach M\u00f6glichkeit zu vermeiden: Ausnahmen sind nur F\u00e4lle, in denen sie unbedingt notwendig sind und Sie die Spezifikationen sowie die Konsequenzen ihrer Nutzung vollst\u00e4ndig verstehen. In dieser Ver\u00f6ffentlichung geht es um liveness- und readiness-Pr\u00fcfungen und es wird erkl\u00e4rt, wann man <i>steht<\/i> sie anwenden sollte und wann nicht.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Mein Kollege Sandor hat k\u00fcrzlich auf Twitter die h\u00e4ufigsten Fehler geteilt, die ihm begegnen, einschlie\u00dflich derjenigen im Zusammenhang mit der Verwendung von Readiness-\/Liveness-Proben:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/sszuecs\/status\/1175377157343907840\"><img decoding=\"async\" alt=\"Liveness-Probes in Kubernetes k\u00f6nnen gef\u00e4hrlich sein\" src=\"\/wp-content\/uploads\/2019\/10\/8bc2e834e77e2b51baf06d2465a97b4f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Eine falsch konfigurierte <code>livenessProbe<\/code> kann Situationen mit hoher Auslastung versch\u00e4rfen (lawinenartiges Ausschalten + potenziell lange Startzeit des Containers\/der Anwendung) und zu anderen negativen Folgen wie dem Ausfall von Abh\u00e4ngigkeiten f\u00fchren <i>(siehe auch <noindex><a rel=\"nofollow\" href=\"https:\/\/srcco.de\/posts\/k3s-outage-traefik-acme-lets-encrypt-local-path.html\">meinen aktuellen Artikel<\/a><\/noindex> \u00fcber die Begrenzung der Anzahl von Anfragen im Zusammenspiel von K3s+ACME).<\/i>. Noch schlimmer ist es, wenn die Liveness-Probe mit einer Abh\u00e4ngigkeitsgesundheitspr\u00fcfung (Health Check) kombiniert wird, die durch eine externe Datenbank erfolgt: <b>Ein einzelner DB-Ausfall wird all Ihre Container neu starten.<\/b>!<\/p>\n<p>Die allgemeine Botschaft <i>\u201eVerwenden Sie keine liveness probes\u201c<\/i> hilft in diesem Fall wenig, also betrachten wir, wof\u00fcr readiness- und liveness-Pr\u00fcfungen gedacht sind. <\/p>\n<p><i>Anmerkung: Der gr\u00f6\u00dfte Teil des folgenden Tests war urspr\u00fcnglich in der internen Dokumentation f\u00fcr Entwickler von Zalando enthalten.<\/i><\/p>\n<h2>Readiness- und Liveness-Pr\u00fcfungen<\/h2>\n<p>\nKubernetes bietet zwei wichtige Mechanismen, die als <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">liveness probes und readiness probes<\/a><\/noindex>bezeichnet werden. Sie f\u00fchren in regelm\u00e4\u00dfigen Abst\u00e4nden bestimmte Aktionen aus \u2013 zum Beispiel senden sie eine HTTP-Anfrage, \u00f6ffnen eine TCP-Verbindung oder f\u00fchren einen Befehl im Container aus \u2013, um zu best\u00e4tigen, dass die Anwendung ordnungsgem\u00e4\u00df funktioniert.<\/p>\n<p>Kubernetes verwendet <b>readiness probes<\/b>, um zu verstehen, wann der Container bereit ist, Verkehr zu empfangen. Ein Pod gilt als betriebsbereit, wenn alle seine Container bereit sind. Eine der Anwendungen dieses Mechanismus besteht darin, zu \u00fcberwachen, welche Pods als Backends f\u00fcr Kubernetes-Dienste (insbesondere Ingress) verwendet werden.<\/p>\n<p><b>Liveness-Proben<\/b> helfen Kubernetes zu verstehen, wann es Zeit ist, einen Container neu zu starten. Zum Beispiel erm\u00f6glicht diese Pr\u00fcfung das Abfangen eines Deadlocks, wenn die Anwendung 'feststeckt'. Ein Neustart des Containers in einem solchen Zustand hilft, die Anwendung von einem toten Punkt zu bewegen, trotz der Fehler; jedoch kann dies auch zu kaskadierenden Ausf\u00e4llen f\u00fchren (siehe unten).<\/p>\n<p>Wenn Sie versuchen, ein Update der Anwendung bereitzustellen, das die Liveness-\/Readiness-Pr\u00fcfungen nicht besteht, wird die Bereitstellung gestoppt, da Kubernetes auf den Status wartet <code>Bereit<\/code> von allen Pods.<\/p>\n<h2>Beispiel<\/h2>\n<p>\nHier ist ein Beispiel f\u00fcr eine Readiness-Probe, die den Pfad \u00fcberpr\u00fcft <code>\/health<\/code> \u00fcber HTTP mit Standardkonfigurationen (<i>Intervall<\/i>: 10 Sekunden, <i>timeout<\/i>: 1 Sekunde, <i>Erfolgsschwelle<\/i>: 1, <i>Fehlerschwelle<\/i>: 3):<\/p>\n<pre><code class=\"plaintext\"># \u0447\u0430\u0441\u0442\u044c \u043e\u0431\u0449\u0435\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f deployment'\u0430\/\u0441\u0442\u0435\u043a\u0430\npodTemplate:\n  spec:\n    containers:\n    - name: my-container\n      # ...\n      readinessProbe:\n        httpGet:\n          path: \/health\n          port: 8080<\/code><\/pre>\n<p><\/p>\n<h2>Empfehlungen<\/h2>\n<p><\/p>\n<ol>\n<li> F\u00fcr Mikrodienste mit HTTP-Endpunkten (REST usw.) <b>definieren Sie immer eine Readiness-Probe,<\/b>die \u00fcberpr\u00fcft, ob die Anwendung (Pod) bereit ist, Verkehr zu empfangen.<\/li>\n<li> Stellen Sie sicher, dass die Readiness-Probe <b>die Bereitschaft des tats\u00e4chlichen Ports des Webservers abdeckt,<\/b>:\n<ul>\n<li> indem Sie Ports f\u00fcr administrative Zwecke verwenden, die als 'admin' oder 'management' bezeichnet werden (zum Beispiel 9090), f\u00fcr <code>readinessProbe<\/code>, stellen Sie sicher, dass der Endpunkt nur dann OK zur\u00fcckgibt, wenn der Haupt-HTTP-Port (wie 8080) bereit ist, Verkehr zu empfangen*;\n<p><i>* Mir ist mindestens ein Fall bei Zalando bekannt, in dem dies nicht geschah, das hei\u00dft, <code>readinessProbe<\/code> es wurde der Port 'management' \u00fcberpr\u00fcft, aber der Server konnte wegen Problemen beim Laden des Caches nicht starten.<\/i><\/li>\n<li> f\u00fchrt das Anbringen einer Readiness-Probe an einem separaten Port dazu, dass eine \u00dcberlastung am Hauptport nicht im Health Check angezeigt wird (d. h. der Thread-Pool auf dem Server ist voll, jedoch zeigt der Health Check immer noch an, dass alles in Ordnung ist).<\/li>\n<\/ul>\n<\/li>\n<li> Stellen Sie sicher, dass <b>Die Readiness-Probe umfasst die Initialisierung\/Migration der Datenbank.<\/b>;\n<ul>\n<li> Der einfachste Weg, dies zu erreichen, besteht darin, erst nach Abschluss der Initialisierung (zum Beispiel der Migration der DB mit <noindex><a rel=\"nofollow\" href=\"https:\/\/flywaydb.org\/\">Flyway<\/a><\/noindex> usw.); das hei\u00dft, anstatt den Status des Health Checks zu \u00e4ndern, starten Sie einfach den Webserver nicht, bis die DB-Migration abgeschlossen ist*.\n<p><i>* DB-Migrationen k\u00f6nnen auch aus Init-Containern au\u00dferhalb des Pods gestartet werden. Ich bin immer noch ein Fan von selbst\u00e4ndigen (self-contained) Anwendungen, sprich solchen, in denen der Anwendungscontainer ohne externe Koordination wei\u00df, wie die DB in den gew\u00fcnschten Zustand versetzt werden kann.<\/i><\/li>\n<\/ul>\n<\/li>\n<li> Verwenden Sie <code>httpGet<\/code> f\u00fcr Readiness-Pr\u00fcfungen \u00fcber typische Health Check-Endpunkte (z. B., <code>\/health<\/code>).<\/li>\n<li> <b>Machen Sie sich mit den standardm\u00e4\u00dfig festgelegten Pr\u00fcfparametern vertraut.<\/b> (<code>Intervall: 10s<\/code>, <code>Timeout: 1s<\/code>, <code>Erfolgsschwelle: 1<\/code>, <code>Fehlerschwelle: 3<\/code>):\n<ul>\n<li> Die Standardparameter bedeuten, dass pod wird <i>nicht bereit<\/i> ungef\u00e4hr in 30 Sekunden (3 fehlgeschlagene Gesundheitspr\u00fcfungen).<\/li>\n<\/ul>\n<\/li>\n<li> Verwenden Sie einen separaten Port f\u00fcr \u201eadmin\u201c oder \u201emanagement\u201c, falls der Technologiestack (zum Beispiel Java\/Spring) dies zul\u00e4sst, um die Verwaltung der \u201eGesundheit\u201c und Metriken vom normalen Verkehr zu trennen:\n<ul>\n<li> aber vergessen Sie nicht Punkt 2.<\/li>\n<\/ul>\n<\/li>\n<li> Bei Bedarf kann die Readiness-Pr\u00fcfung zum Aufw\u00e4rmen\/Laden des Caches verwendet werden und den Statuscode 503 zur\u00fcckgeben, solange der Container nicht \u201eaufgew\u00e4rmt\u201c ist:\n<ul>\n<li> Ich empfehle auch, sich mit der neuen Pr\u00fcfung vertraut zu machen <code>startupProbe<\/code>, <noindex><a rel=\"nofollow\" href=\"https:\/\/sysdig.com\/blog\/whats-new-kubernetes-1-16\/\">die in Version 1.16 hinzugekommen ist<\/a><\/noindex> <i>(dar\u00fcber haben wir auf Russisch geschrieben, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/467477\/\">hier<\/a><\/noindex> \u2014 Anm. d. \u00dcbersetzer)<\/i>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Vorsichtsma\u00dfnahmen<\/h2>\n<p><\/p>\n<ol>\n<li> <b>Verlassen Sie sich nicht auf externe Abh\u00e4ngigkeiten<\/b> (wie Datenbanken) bei der Durchf\u00fchrung von Tests zur Readiness\/Liveness \u2013 dies kann zu kaskadierenden Ausf\u00e4llen f\u00fchren:\n<ul>\n<li> nehmen wir als Beispiel einen zustandsbehafteten REST-Service mit 10 Pods, die von einer einzigen Postgres-Datenbank abh\u00e4ngen: Wenn die Pr\u00fcfung von einer aktiven Verbindung zur DB abh\u00e4ngt, k\u00f6nnen alle 10 Pods ausfallen, wenn es zu einer Verz\u00f6gerung im Netzwerk oder auf Seiten der DB kommt \u2013 normalerweise endet das alles schlimmer, als es k\u00f6nnte;<\/li>\n<li> beachten Sie, dass Spring Data standardm\u00e4\u00dfig die Verbindung zur DB pr\u00fcft*;\n<p><i>* So verh\u00e4lt sich Spring Data Redis standardm\u00e4\u00dfig (zumindest war es so, als ich das letzte Mal \u00fcberpr\u00fcft habe), was zu einem \u201ekatastrophalen\u201c Ausfall f\u00fchrte: Als Redis kurzfristig nicht verf\u00fcgbar war, fielen alle Pods aus.<\/i><\/li>\n<li> \u201eextern\u201c in diesem Sinne kann auch andere Pods derselben Anwendung bedeuten, das hei\u00dft, idealerweise sollte die Pr\u00fcfung nicht vom Zustand anderer Pods im selben Cluster abh\u00e4ngen, um Kaskadenausf\u00e4lle zu vermeiden:\n<ul>\n<li> die Ergebnisse k\u00f6nnen f\u00fcr Anwendungen mit verteiltem Zustand (z. B. In-Memory-Caching in Pods) variieren.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li> <b>Verwenden Sie die Liveness-Pr\u00fcfung nicht<\/b> f\u00fcr Pods (au\u00dfer in F\u00e4llen, in denen sie wirklich notwendig sind und Sie sich der Spezifikationen und Folgen ihrer Anwendung vollst\u00e4ndig bewusst sind):\n<ul>\n<li> Die Liveness-Probe kann dazu beitragen, \"h\u00e4ngende\" Container wiederherzustellen, aber da Sie die volle Kontrolle \u00fcber Ihre Anwendung haben, sollten solche Dinge wie \"h\u00e4ngende\" Prozesse und Deadlocks idealerweise nicht auftreten: Die bessere Alternative besteht darin, die Anwendung absichtlich zum Absturz zu bringen und sie in ihren vorherigen stabilen Zustand zur\u00fcckzusetzen;<\/li>\n<li> Ein fehlgeschlagener Liveness-Probe f\u00fchrt zum Neustart des Containers, was potenziell die Auswirkungen von Ladefehlern versch\u00e4rfen kann: Der Neustart des Containers verursacht Ausfallzeiten (mindestens w\u00e4hrend der Anlaufzeit der Anwendung, sagen wir, mehr als 30 Sekunden), was zu neuen Fehlern f\u00fchrt, die Last auf andere Container erh\u00f6hen und die Wahrscheinlichkeit ihres Ausfalls erh\u00f6ht usw.;<\/li>\n<li> Liveness-Checks in Kombination mit externen Abh\u00e4ngigkeiten sind die schlechteste denkbare Kombination, die das Risiko von Kaskadenausf\u00e4llen birgt: Eine geringf\u00fcgige Verz\u00f6gerung auf der DB-Seite f\u00fchrt zum Neustart aller Ihrer Container!<\/li>\n<\/ul>\n<\/li>\n<li> Die Parameter f\u00fcr Liveness- und Readiness-Checks <b>sollten unterschiedlich sein<\/b>:\n<ul>\n<li> Sie k\u00f6nnen die Liveness-Probe mit demselben Health Check verwenden, jedoch mit einer h\u00f6heren Schwelle zur Ausl\u00f6sung (<code>failureThreshold<\/code>), zum Beispiel den Status <i>nicht bereit<\/i> nach 3 Versuchen zu setzen und zu ber\u00fccksichtigen, dass der Liveness-Probe nach 10 Versuchen fehlschl\u00e4gt;<\/li>\n<\/ul>\n<\/li>\n<li> <b>Verwenden Sie keine Exec-Checks<\/b>, da diese bekannte Probleme verursachen, die zur Entstehung von Zombie-Prozessen f\u00fchren:\n<ul>\n<li> Details: siehe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=QKI-JRs2RIE\">Pr\u00e4sentation von Datadog-Experten<\/a><\/noindex>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Zusammenfassung<\/h2>\n<p><\/p>\n<ul>\n<li> Verwenden Sie Readiness-Probes, um festzustellen, wann ein Pod bereit ist, Traffic zu empfangen.<\/li>\n<li> Verwenden Sie Liveness-Probes nur, wenn sie wirklich notwendig sind.<\/li>\n<li> Falsche Verwendung von Readiness\/Liveness-Probes kann zu einer Verringerung der Verf\u00fcgbarkeit und zu Kaskadenausf\u00e4llen f\u00fchren.<\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/sszuecs\/status\/1175655221382529025\"><img decoding=\"async\" alt=\"Liveness-Probes in Kubernetes k\u00f6nnen gef\u00e4hrlich sein\" src=\"\/wp-content\/uploads\/2019\/10\/8c212c41d6e69cd515a85d2b6100aaed.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h2>Zus\u00e4tzliche Materialien zum Thema<\/h2>\n<p><\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">Kubernetes-Dokumentation: Liveness- und Readiness-Probes konfigurieren<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.colinbreck.com\/kubernetes-liveness-and-readiness-probes-revisited-how-to-avoid-shooting-yourself-in-the-other-foot\/\">Kubernetes Liveness- und Readiness-Probes \u00fcberarbeitet: So vermeiden Sie, sich selbst ins Knie zu schie\u00dfen<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/keepingitclassless.net\/2018\/12\/december-4-nre-labs-outage-post-mortem\/\">NRE Labs Ausfallanalyse<\/a><\/noindex> (spricht auch \u00fcber livenessProbe).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Update Nr. 1 vom 29.09.2019<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/BarrWill1\/status\/1178144162526453760\">\u00dcber Init-Container zur Datenbankmigration<\/a><\/noindex>: Fu\u00dfnote hinzugef\u00fcgt.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/ejc3\/status\/1178077779293683713\">EJ erinnerte mich<\/a><\/noindex> zur PDB: Eine der Herausforderungen bei Liveness-Pr\u00fcfungen ist die fehlende Koordination zwischen Pods. In Kubernetes gibt es <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/configure-pdb\/\">Pod Disruption Budgets (PDB)<\/a><\/noindex> , um die Anzahl gleichzeitiger Ausf\u00e4lle zu begrenzen, die eine Anwendung erfahren kann, jedoch ber\u00fccksichtigen die Checks die PDB nicht. Ideal k\u00f6nnten wir K8s anweisen: 'Starte einen Pod neu, wenn seine Pr\u00fcfung fehlschl\u00e4gt, aber starte nicht alle neu, um es nicht schlimmer zu machen.'<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bboreham\/status\/1178083887991398400\">Bryan hat das gro\u00dfartig formuliert<\/a><\/noindex>: 'Verwenden Sie Liveness-Testing, wenn Sie genau wissen, dass <b>das Beste, was Sie tun k\u00f6nnen, darin besteht, die Anwendung zu 't\u00f6ten'<\/b>' (denken Sie daran, nicht zu \u00fcbertreiben).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/bboreham\/status\/1178207929540972544\"><img decoding=\"async\" alt=\"Liveness-Probes in Kubernetes k\u00f6nnen gef\u00e4hrlich sein\" src=\"\/wp-content\/uploads\/2019\/10\/524122a63bd4acd950bf9fc8aeeb45be.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h2>Update Nr. 2 vom 29.09.2019<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/Guillaume_Swiss\/status\/1178258781152563200\">Bez\u00fcglich der Dokumentation lesen vor der Verwendung<\/a><\/noindex>: Ich habe eine entsprechende Anfrage (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/website\/issues\/16607\">Feature-Anfrage<\/a><\/noindex>) zur Erg\u00e4nzung der Dokumentation \u00fcber Liveness-Probes erstellt.<\/p>\n<h2>P.S. vom \u00dcbersetzer<\/h2>\n<p>\nLesen Sie auch in unserem Blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/415393\/\">Kubernetes: Leben eines Pods<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/425085\/\">7 beste Praktiken f\u00fcr den Betrieb von Containern laut Google<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/353272\/\">7 Prinzipien f\u00fcr das Design von containerbasierten Anwendungen<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/470958\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0412\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando \u2014 Henning Jacobs \u2014 \u043d\u0435 \u0440\u0430\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Kubernetes \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f liveness (\u0438 readiness) probes \u0438 \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u0435\u043c\u0443 \u043e\u043d \u0441\u043e\u0431\u0440\u0430\u043b \u0441\u0432\u043e\u0438 \u043c\u044b\u0441\u043b\u0438 \u0432 \u044d\u0442\u0443 \u0451\u043c\u043a\u0443\u044e \u0437\u0430\u043c\u0435\u0442\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441\u0442\u0430\u043d\u0435\u0442 \u0447\u0430\u0441\u0442\u044c\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 K8s. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0432 Kubernetes \u043a\u0430\u043a liveness probes (\u0442.\u0435., \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29232,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38965","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0412\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando \u2014 Henning Jacobs \u2014 \u043d\u0435 \u0440\u0430\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Kubernetes \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f liveness (\u0438 readiness) probes \u0438 \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Liveness probes \u0432 Kubernetes \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u043f\u0430\u0441\u043d\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0412\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando \u2014 Henning Jacobs \u2014 \u043d\u0435 \u0440\u0430\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Kubernetes \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f liveness (\u0438 readiness) probes \u0438 \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:27:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:27:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Liveness-Probes in Kubernetes k\u00f6nnen gef\u00e4hrlich sein | ProHoster","description":"Hinweis des \u00dcbersetzers: Der leitende Ingenieur von Zalando, Henning Jacobs, hat mehrmals festgestellt, dass Benutzer von Kubernetes Probleme haben, den Zweck von Liveness- (und Readiness-) Probes zu verstehen und diese korrekt anzuwenden.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Liveness probes \u0432 Kubernetes \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u043f\u0430\u0441\u043d\u044b | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0412\u0435\u0434\u0443\u0449\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando \u2014 Henning Jacobs \u2014 \u043d\u0435 \u0440\u0430\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u043b \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Kubernetes \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f liveness (\u0438 readiness) probes \u0438 \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/liveness-probes-v-kubernetes-mogut-byt-opasny","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:27:03+00:00","article:modified_time":"2019-10-31T19:27:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38965","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 00:10:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:59:27","updated":"2026-01-24 00:10:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=38965"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38965\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/29232"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=38965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=38965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=38965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}