2017-03-03 2 views
4

Was bedeutet DiskPressure wirklich und wie kann es in Kubernetes während der Containererstellung vermieden werden?DiskPressure stürzt den Knoten ab

Scheinbar, wenn ich auf einem Knoten einen neuen Container zu schaffen gibt es eine hohe Wahrscheinlichkeit, dass es aufgrund des Drucks, den gesamten Knoten abstürzt ...

+0

Nur um dies zu verfolgen. Ich hatte Probleme mit den INodes, nicht den Platz. Ein riesiges Bild braucht eine Menge von ihnen. Leider, wenn Sie eine geringe Anzahl von INodes auf Ihren Festplatten definiert haben, dann sind diese sehr schnell ausgelaufen. Auch wenn Sie die automatische Löschung der nicht verwendeten Bilder einrichten, wegen der langsamen Festplatte vs viele kleine Dateien, Erstellen von Hochleistungsproblem auf den Knoten.So die Lösung ist, eine hohe Anzahl von INodes einrichten, wenn Sie viele kleine Dateien im Bild haben, und haben eine schnelle Festplatte, um es zu bereinigen. Oder ändern Sie die Schwellenwerte auf einen niedrigeren Wert (keine Ahnung, wo ich sie richtig einrichten kann ...) – eesdil

+0

Nur noch ein Vorschlag, wenn jemand interessiert ist. Ich habe auch Multi-Stage-Builds verwendet, die dazu beitragen, das endgültige Bild klein zu halten. https://docs.docker.com/engine/userguide/eng-image/multistage-build/ – eesdil

Antwort

5

Vom documentation Sie werden feststellen, dass DiskPressure erhöht, wenn:

der verfügbare Speicherplatz und Inodes auf entweder das root-Dateisystem-oder Bilddateisystem des Knotens hat einen Räumungsschwelle

Lernen über die Bedingungen Ihrer Knoten zufrieden wh Wann immer diese Probleme auftreten, ist es wichtig, wie viel Speicherplatz/Inoden übrig sind, und es ist wichtig, dass Sie auch etwas über die verwandten Containerbilder erfahren. Dies kann mit einer grundlegenden Systemüberwachung erfolgen (siehe Resource Usage Monitoring).

Sobald Sie über die Bedingungen kennen, sollten Sie die --low-diskspace-threshold-mb, --image-gc-high-threshold und --image-gc-low-threshold Parameter von Ihnen kubelet, so einzustellen, dass es für den normalen Betrieb immer genügend Platz ist, oder für Sie Knoten zur Bereitstellung von mehr Raum betrachten, je nach der Anforderungen.

+1

Danke pagid, ich werde es so bald wie möglich überprüfen. – eesdil

+1

Danke pagid, ich habe es nicht bekommen, um es zu überprüfen. Aber ich werde trotzdem zurückkommen, danke. – eesdil

+0

@pagid wie interagiert man mit kubelet auf google kubernetes engine? – snowflakekiller