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 eine App hängst, nicht für sich allein. Löst du es oder löschst du die App, bleibt es samt Daten als losgelöster Speicher im Projekt, auf der Volumes-Seite als Orphaned markiert, bis du es wieder anhängst oder 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.
- Wähl Attach volume: 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 | mit dem Projekt | Jedes Volume ist in den Backups des Projekts dabei, sobald die Seite Backups des Projekts einen Zeitplan hat. Pro Volume schaltest du nichts ein. |
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 laufen nach dem Zeitplan des Projekts. Bis die Seite Backups des Projekts einen hat, ist ein Volume genau so haltbar wie die Platte darunter.
Wer eine App löscht, behält ihre Volumes als losgelösten Speicher. Wer ein Volume löscht, löscht die Daten ohne Rückweg.
Verwandt
- Apps ist das, was ein Volume einbindet.
- Datenbanken bringen ihren Speicher selbst mit und brauchen kein Volume.