Hoppa till innehållet
Stackship-dokumentation English

ContainerinstanserAnvändareMaskinöversatt

Lägg till volymer och filer

Ge en komponent en beständig disk, arbetsyta eller konfigurationsfiler och montera dem i dess containrar, via CLI:t eller API:et.

Kräver: containerinstance/write

Portalen visar en komponents volymer men redigerar dem inte. Volymer deklareras via CLI:t eller API:et — eller i en blueprintmall — som en del av komponenten och kräver containerinstance/write.

Deklarera en volym

En komponents lista volumes rymmer upp till 8 volymer. Var och en har ett name — gemener, siffror och bindestreck, med en bokstav först, unikt i komponenten — och exakt en av dessa:

  • persistent — en disk som överlever omstarter och omdistributioner.
    • size — hur stor, som en Kubernetes-kvantitet som 10Gi. Den kan inte ändras när volymen väl finns.
    • retainOnDelete — true som standard: disken behålls när instansen eller komponenten tas bort. false tar bort den tillsammans med dem.
    • fsGroup — gruppen som äger diskens filer, för avbilder som inte körs som root. Komponenten använder det första värde som dess beständiga volymer anger, och 65532 när ingen anger något.
  • emptyDir — arbetsyta som komponentens containrar delar och som försvinner med podden. sizeLimit sätter ett tak, till exempel 1Gi.
  • files — filer vars innehåll du skriver in i instansens konfiguration.
    • content — en mappning från filnamn till filens text. Filnamn använder bokstäver, siffror, ., _ och -.
    • sensitive — true lagrar filerna som en hemlighet och döljer innehållet när instansen läses.

En komponent med en beständig volym kör 0 eller 1 repliker och kan inte autoskala.

Montera den i en container

En volym syns bara i de containrar som monterar den. Varje containers lista mounts anger:

  • volume — en volym i samma komponent.
  • path — var den visas i containern: en absolut sökväg, inte /, utan .., inte under /proc, /sys, /dev, /var/run eller /etc/kubernetes, och bara använd en gång per container.
  • subPath — valfritt: montera en fil ur volymen i stället för hela. Då kan en enskild konfigurationsfil ligga bredvid de filer som avbilden redan har i den katalogen.
  • readOnly — valfritt, false som standard.

Uppdatera instansen

En komponent ersätts i sin helhet när instansen uppdateras, så filen innehåller varje komponent fullständigt — de containrar, portar, variabler och kommandon du behåller lika väl som de volymer du lägger till. Utgå från instansen som den är: stsh ci get web -o json visar dess components. Lägg bara components i filen:

json
{
  "components": [
    {
      "name": "main",
      "replicas": 1,
      "startupOrder": 1,
      "computePlan": "small",
      "containers": [
        {
          "name": "main",
          "image": "nginx",
          "tag": "1.27",
          "ports": [{ "name": "http", "port": 80, "protocol": "TCP" }],
          "mounts": [
            { "volume": "config", "path": "/etc/nginx/conf.d/default.conf", "subPath": "default.conf", "readOnly": true },
            { "volume": "site", "path": "/usr/share/nginx/html" }
          ]
        }
      ],
      "volumes": [
        { "name": "config", "files": { "content": { "default.conf": "server { listen 80; root /usr/share/nginx/html; }" } } },
        { "name": "site", "persistent": { "size": "5Gi" } }
      ]
    }
  ]
}
bash
stsh ci update web -g my-resource-group --file components.json

När du sparar ersätts poddarna för varje komponent vars konfiguration ändrats, filinnehåll inräknat.

Gränser för filer

  • Högst 16 filer i en files-volym.
  • Högst 900 KiB namn och innehåll i en volym, och 1 MiB sammanlagt i instansens alla files-volymer.
  • Innehållet är text.

Känsliga filer

När en instans läses returneras <redacted> i stället för innehållet i varje känslig fil. Skickar du tillbaka <redacted> behålls det lagrade innehållet, så en instans som läses och skrivs tillbaka oförändrad behåller sina filer; skicka den nya texten för att ändra en fil. Revisioner lagrar också den maskerade formen — se Jämför och återställ revisioner.