Volumes
Platte, die einen Rollout übersteht, eingebunden in eine App an einem Pfad deiner Wahl.
Auf dieser Seite
Was das ist
Das eigene Dateisystem eines Containers ist bei jedem Neustart weg. Ein Volume ist es nicht: Es behält seinen Inhalt über Neustarts, Rollouts und Image-Wechsel hinweg und erscheint im Container an einem Pfad, den du wählst.
Ein Volume entsteht, indem du es an einen Workload hängst, nicht für sich allein. Es gibt kein leeres Volume, das auf Adoption wartet. So hat jedes Volume einen Besitzer, und du weisst immer, was kaputtgeht, wenn du es löschst.
Wann du das brauchst
- Uploads von Nutzern, die eine App auf die Platte schreibt.
- Ein Cache oder Index, dessen Neuaufbau teuer ist, der aber keine Datenbank rechtfertigt.
- Jedes Verzeichnis, das nach einem Deployment noch da sein muss.
Zwei Apps können nicht auf dasselbe Volume schreiben. Brauchen sie gemeinsamen Zustand, ist das eine Datenbank oder ein Bucket. Eine geteilte Platte, um zwei Container zu koordinieren, ist der Anfang eines schlechten Nachmittags.
Eines an eine App hängen
- Öffne die App und geh auf Storage.
- Füg ein Volume hinzu: Name, Grösse und der Pfad, an dem es im Container erscheinen soll.
- Speichere. Die App startet einmal neu, das Volume hängt dran, und das Verzeichnis ist beim ersten Mal leer.
Die Grösse kommt von einem Schieberegler mit der Obergrenze deines Tarifs, nicht aus einem Textfeld. Ein Tippfehler bei einer Speichergrösse ist in beide Richtungen teuer.


Vergrössern
Öffne das Volume und zieh die Grösse hoch. Es wächst im laufenden Betrieb, die App läuft weiter, und der neue Platz steht bereit, sobald das Dateisystem mitgezogen hat.
Verkleinern gibt es nicht. Kubernetes bietet es nicht an, also klickops auch nicht. Kleiner werden heisst: zweites Volume anlegen, kopieren, Mount umhängen.
Einstellungen im Überblick
| Einstellung | Standard | Was sie bewirkt |
|---|---|---|
| Name | keiner | Identifiziert das Volume im Projekt. Endgültig. |
| Grösse | vom Regler | Wie viel Platte. Wächst im Betrieb, schrumpft nie. |
| Mount-Pfad | keiner | Wo das Volume im Container erscheint, zum Beispiel /data. |
| Backup | aus | fs kopiert die Dateien, snapshot nutzt die Snapshots der Speicherschicht, wo der Cluster sie unterstützt. |
Grenzen und Fallstricke
- Speicher wächst nur. Plan für ein Jahr, nicht für ein Jahrzehnt.
- Ein Schreiber. Ein Volume hängt an einer App. Skalierst du die über ein Replica hinaus, braucht es Speicher, der das unterstützt, oder eine andere Form von Zustand.
- Der Mount verdeckt, was da war. Hängst du an einen Pfad, den das Image schon befüllt hat, sind dessen Dateien unsichtbar und nicht etwa gemischt. Häng an ein leeres Verzeichnis.
- Backups sind aus, bis du sie einschaltest. Ein Volume ohne Backup ist genau so haltbar wie die Platte darunter.
Wer eine App löscht, löscht ihre Volumes mit, sofern er sie vorher nicht löst. Und wer ein Volume löscht, löscht die Daten ohne Rückweg. Der Dialog listet auf, was mitgeht.
Verwandt
- Apps ist das, was ein Volume einbindet.
- Datenbanken bringen ihren Speicher selbst mit und brauchen kein Volume.