Hoppa till innehållet
Stackship-dokumentation English

S3-lagringAdministratörerMaskinöversatt

Lagringsservrar och deras inställningar

Vad plattformen kör för varje lagringskonto, vilka installationsinställningar som formar det, och vad du behöver veta om versioner, nycklar och kvarhållna volymer.

Vad ett konto består av

S3-modulen registrerar varje lagringskonto och skriver en S3StorageAccount-resurs (platform.stackship.se/v1); Stackship-operatorn bygger resten i resursgruppens namnrymd:

Objekt Namn Anmärkning
Deployment s3sa-<account> En replik; ersätts med strategin Recreate, eftersom volymen bara kan vara ansluten till en pod i taget
PersistentVolumeClaim s3sa-<account>-<suffix> Storlek = kontots kvot; klustrets standardlagringsklass. Skapas en gång och ändras aldrig i storlek
Service och Ingress s3sa-<account> Ingressen betjänar kontots värdnamn, med ett certifikat från installationens utfärdare om inte kontot anger en egen Secret
Secret s3sa-<account>-module-creds Klientuppgifterna för kontots egen hanterade identitet
ServiceAccount stackship-s3-server Delas av namnrymdens S3-serverpoddar

Varje server anropar S3-modulen på dess gRPC-port 8081 för att kontrollera inloggningsuppgifter, registrera buckets, rapportera användning och skicka granskningsposter. Boundaryns nätverksregel Object storage control tillåter det — se Nätverksregler.

Installationsinställningar

Inställning Var Innehåller
S3__HostnameSuffix ConfigMap module-s3-config Den överordnade domänen för kontonas värdnamn, s3.example.com, härledd från API-domänen
S3__ServerImage ConfigMap stackship-operator-config S3-serverns avbildning, <registry host>/public/s3-server:<version>, låst av plattformsreleasen
S3__ControlPlaneGrpcUrl ConfigMap stackship-operator-config Där servrarna når S3-modulen: http://module-s3.stackship-system:8081
S3__PortalOrigins ConfigMap stackship-operator-config Portalens ursprung, som varje server tillåter för CORS
DataProtection__DEK Secret stackship-data-protection, nyckel dek Nyckeln som skyddar de lagrade hemligheterna för åtkomstnycklar och tillfälliga inloggningsuppgifter

Båda ConfigMap:arna finns i stackship-system. Operatorns ConfigMap renderas på nytt när plattformen uppgraderas, så ändringar du gör i den för hand överlever inte en uppgradering.

Kontonas värdnamn är <account>.s3.example.com om inte ett konto anger ett eget, så s3.example.com behöver en DNS-post med jokertecken som pekar mot ingress-kontrollern.

S3-modulen vägrar starta om inte DataProtection__DEK avkodas till exakt 32 byte. Byter du nyckeln blir varje lagrad åtkomstnyckel och tillfällig inloggningsuppgift oanvändbar.

Serverversioner

En plattformsuppgradering kan föra med sig en ny S3__ServerImage. Nya konton startar på den; ett befintligt konto behåller avbildningen som dess server startades med tills dess konfiguration ändras — en ändring av dess värdnamn, TLS-inställningar, CORS-ursprung eller Tillåt bucket-livscykel via S3-API startar dess server på den aktuella avbildningen. En ändring av Endast HTTP eller Behåll data vid borttagning gör det inte. En ändring av S3__PortalOrigins startar om servern för varje konto, på den aktuella avbildningen.

Kvarhållna volymer

När ett konto med Behåll data vid borttagning tas bort ligger dess PersistentVolumeClaim kvar i namnrymden, fristående. Ett nytt konto återanvänder den aldrig: volymnamnen innehåller kontots unika ID. För att återställa datan monterar du claimen i en egen pod och kopierar ut den — objekten lagras som filer, i en katalog per bucket — och tar bort claimen när du är klar. Claims tas bort med sin namnrymd, det vill säga när resursgruppen tas bort.

Operatorn tar bort claims men aldrig PersistentVolumes. För att Behåll data vid borttagning avstängt ska frigöra disken måste lagringsklassen ha återtagandepolicyn Delete.

Granskningsdata

S3-modulen sparar granskningsposter i schemat s3_audit i plattformens databas och tar bort poster som är äldre än 90 dagar en gång om dagen.