Container und Kubernetes-Speicher

Persistente Daten müssen den Pod, der sie verwendet, überdauern

Kubernetes macht Anwendungen von Grund auf austauschbar. Zustandsbehaftete Dienste benötigen daher einen Speicherlebenszyklus, der trotz Neuplanung, Knotenwartung, Upgrades und Ausfällen vorhersehbar bleibt

Kubernetes fordert Speicher an; Eine Integrationsschicht erfüllt diese Anforderung
POD A
POD B
POD C
PVC → STORAGECLASS → PROVISIONER- ODER ADMIN-WORKFLOW
PERSISTENTES VOLUME
EXTERNER SPEICHER

Kubernetes-Objekte und das zugrunde liegende Speichersystem sind separate Betriebsschichten

Ein Container-Dateisystem ist kein DatensicherungsplanSchreibvorgänge in der Containerschicht können verloren gehen, wenn der Container ersetzt wird
Persistenz und Verfügbarkeit sind unterschiedlichEin beibehaltenes Volume kann dennoch nicht mehr verfügbar sein, wenn sein Pfad oder Speicherdienst ausfällt
Die Klasse Storage ist eine RichtlinienschnittstelleDer Provisioner, die Rückgewinnungsrichtlinie, der Bindungsmodus und das Backend bestimmen, was die Klasse tatsächlich liefert
Protokollunterstützung impliziert keine Unterstützung für CSIDie automatische Kubernetes-Bereitstellung erfordert eine unabhängig unterstützte und qualifizierte Integration
Storage Grundlagen

Verwenden Sie den richtigen Lebenszyklus für jeden Datensatz

Kubernetes trennt die Anwendungsanfrage von der Speicherressource. Diese Abstraktion ist nur dann sinnvoll, wenn der zugrunde liegende Lebenszyklus und das Fehlerverhalten verstanden werden

E

Ephemerer Speicher

Scratch-Daten, beschreibbare Container-Layer, Logs und einige temporäre Volumes folgen dem Pod- oder Node-Lebenszyklus

  • Nützlich für Caches und wiederherstellbare Arbeitsdaten
  • Kann bei einem Knotenausfall verloren gehen
  • Benötigt Anforderungen, Limits und Kapazitätsüberwachung
PV

PersistentVolume

Ein PV repräsentiert den dem Cluster zur Verfügung gestellten Speicher. Es existiert unabhängig vom Lebenszyklus einzelner Pods

  • Kann statisch oder dynamisch erstellt werden
  • Verfügt über Zugriffsmodi, Kapazität und Rückforderungsverhalten
  • Hängt weiterhin vom Backend und der Anbindungsmethode ab
C

PersistentVolumeClaim

Ein PVC ist die Workload-Anforderung für Kapazität, Zugriffsmodus und eine bestimmte Speicherklasse

  • Trennt Entwickler von Backend-Details
  • Bindet an ein kompatibles PV
  • Gewährleistet allein weder Backup noch Hochverfügbarkeit
Provisionierungslebenszyklus

Eine StorageClass ist nur so leistungsfähig wie ihr Provisionierer

01 · ANFRAGE

Pod referenziert ein PVC

Die Anwendung deklariert Speicheranforderungen, ohne eine physische Festplatte oder ein Ziel auszuwählen

02 · RICHTLINIE

StorageClass wird ausgewählt

Sie definiert einen Provisionierer sowie backendspezifische Parameter und das Rückgewinnungsverhalten

03 · BEREITSTELLUNG

PersistentVolume wird erstellt oder zugeordnet

Ein unterstützter Treiber oder Administrator-Workflow stellt die tatsächliche Speicherressource bereit und protokolliert sie

04 · EINBINDUNG

Der Knoten stellt die Ressource dem Pod zur Verfügung

Anhängen, Einbinden und Pfadwiederherstellung müssen unabhängig vom geplanten Einsatzort der Workload funktionieren

Wichtig: Ohne einen geeigneten Provisioner kann Speicher weiterhin statisch durch vorab erstellte PersistentVolumes bereitgestellt und repräsentiert werden. Dies ist ein Betriebsmodell – keine dynamische Bereitstellung

Zustandsbehaftete Workloadprofile

Unterschiedliche Dienste benötigen unterschiedliche Zugriffssemantiken

DATENBANKEN

Vorhersagbarer Block- oder unterstützter Dateizugriff

Latenzgesteuert
  • Schreibbeständigkeit und Wiederherstellung müssen der Datenbank entsprechen
  • Zugriffsmodi und Neuplanungsverhalten müssen getestet werden
  • Anwendungsreplikation kann sich mit dem Speicherschutz überschneiden
GEMEINSAME ANWENDUNGSDATEN

Ein gemeinsamer Namensraum für mehrere Pods

Dateisemantik
  • NFS kann, sofern unterstützt, gemeinsamen Dateizugriff bereitstellen
  • Sperren, Berechtigungen und gleichzeitige Schreibvorgänge sind wichtig
  • Die Metadatenleistung kann bei kleinen Dateilasten dominieren
Objektbasierte Dienste

S3 über die Anwendungs-API verwenden

Skalierung + API
  • Auf S3 wird normalerweise von der Anwendung zugegriffen und nicht als PV eingebunden
  • Geeignet für Artefakte, Backups, Medien und Datenpipelines
  • Anmeldeinformationen und Mandantentrennung gehören in das Anwendungsdesign
Protokolle, Cache & Scratch

Festlegen, was wirklich vergütungspflichtig ist

Ephemer oder persistent
  • Lokaler ephemerer Speicher ist möglicherweise am schnellsten für wiederherstellbare Daten
  • Zentrale Protokolle benötigen einen separaten Export- und Aufbewahrungspfad
  • Das Verhalten bei Knotenausfällen und -verdrängung sollte explizit sein
Datenpfade

Separater Speicherzugriff von der Kubernetes-Automatisierung

Ein Protokoll kann für einen Knoten geeignet sein, erfordert aber dennoch einen separaten Treiber-, Provisionierungs- oder Administratorprozess, um zu einem Kubernetes-Volume zu werden

ZugriffsmethodeGemeinsame ContainerrollePotenzieller VorteilKubernetes-Integration zur Validierung
NFSGemeinsame Dateien und ReadWriteMany-AnwendungsdesignsVertrauter gemeinsam genutzter Namespace über Knoten hinwegStatischer PV oder unterstützter externer Provisioner-/CSI-Pfad, Berechtigungen, Sperrung und Failover-Remount-Verhalten
iSCSIPersistente Block-Volumes für zustandsbehaftete AnwendungenAusgereifter IP-Blockzugriff und breite Host-UnterstützungQualifizierter Knoten Initiator, Multipathing, Attachment-Workflow und unterstützter Provisioner
NVMe-oFLatenzempfindlicher Blockspeicher, sofern der gesamte Host-Stack dies unterstütztEffizienter NVMe-Zugriff über TCP oder RDMAEs wird keine native euroNAS Kubernetes-Bereitstellung beansprucht; Qualifizierende Anbindung, Multipathing und der gewählte CSI- oder Administrator-Workflow
Ceph-gestützte DiensteScale-out-Block-, Datei- oder ObjektspeicherVerteilter Schutz und Wachstum über Ausfalldomänen hinwegJede direkte Kubernetes/Ceph-Integration benötigt einen eigenen unterstützten Treiber, eine Versionsmatrix und eine Betriebsvalidierung
S3-kompatible APIAnwendungsobjekte, Repositories, Backups und DatenpipelinesZugriff auf Anwendungsebene ohne eingebundenes VolumeSDK/CLI-Kompatibilität, Anmeldeinformationen, Endpunktverfügbarkeit und Anwendungskonsistenz
Integrationsgrenze

Schließen Sie nicht von einem Speicherprotokoll auf einen Kubernetes-Treiber

euroNAS kann Block-, Datei- und S3-Dienste bereitstellen, die in einer Kubernetes-Architektur verwendet werden können. Kubernetes-native dynamische Bereitstellung, Snapshots, Klonen, Erweiterung und Topologieerkennung hängen vom exakten CSI-Treiber oder -Provisioner ab, der für die jeweilige Umgebung ausgewählt wird

Klarer Geltungsbereich: Diese Seite beansprucht weder einen nativen euroNAS- noch einen nativen CSI-Treiber, eine Kubernetes-Zertifizierung oder die automatische Volume-Bereitstellung. Jede Integrationsschicht muss unabhängig ausgewählt, unterstützt und getestet werden

Validieren Sie die gesamte Kette

Ein erfolgreiches Mounten ist nur der erste Test

Kubernetes- und CSI/Provisioner-Versionen
Node-Betriebssystem, Initiator, Multipath und Timeouts
Verhalten beim Anfügen, Trennen, Neuplanen und Entleeren von Knoten
Semantik für Rückgewinnung, Erweiterung, Snapshot und Wiederherstellung
Backend-Ausfall, Failover und Wiederherstellung
Verfügbarkeit und Schutz

Zustandsbehaftete Container benötigen mehr als eine persistente Einbindung

Pfadresilienz

Knoten verbunden halten

Redundante Verbindungen, Multipathing und korrekte Timeouts schützen den Pfad, sofern die Blockintegration dies unterstützt

Speicherdienst

Überstehen eines Speicherknotenausfalls

Automatische Hochverfügbarkeit oder verteilter Speicherschutz adressiert eine andere Ebene als die Pod-Neuplanung

Anwendungskonsistenz

Koordinierter Zustand

Datenbanken und verteilte Anwendungen benötigen möglicherweise Quiescing oder anwendungsnativen Schutz

Backup & Disaster Recovery

Frühere Daten wiederherstellen

Beibehaltene, unabhängige Kopien schützen vor Löschung, Beschädigung und größeren Ausfallgrenzen

Volume-Snapshots erfordern explizite Unterstützung: Kubernetes-Snapshot-Objekte basieren auf der Funktionalität von CSI und machen nicht automatisch jeden Backend-Snapshot anwendungskonsistent oder unabhängig wiederherstellbar

Scale-out-Speicheroperationen

Verwalten Sie Ceph-Dienste über geführte Workflows

eEKAS kann verteilte Block-, Datei- und S3-Dienste für Containerplattformen und andere externe Nutzer bereitstellen. Clustererstellung, Laufwerke, Pools, Schutzprofile, Metadatenplatzierung und Endpunkte werden über die grafische Benutzeroberfläche von euroNAS verwaltet

Keine Befehlszeilenkenntnisse erforderlichFür die routinemäßige Bereitstellung und Überwachung von Ceph sind keine Vorkenntnisse der Ceph-Befehle erforderlich
Unabhängige SpeicherskalierungFügen Sie qualifizierte Speicherknoten hinzu, wenn die Kapazitäts- und Leistungsanforderungen steigen
Die Integration bleibt separatKubernetes-Bereitstellung und CSI-Unterstützung sind nicht im verwalteten Ceph-Backend enthalten
Referenzarchitekturen

euroNAS-Produkte auf klar definierten Infrastrukturebenen verwenden

Diese Beispiele beschreiben, wo Speicher und Virtualisierung eingesetzt werden können; sie schreiben keine bestimmte Kubernetes-Distribution oder CSI-Implementierung vor

ARCHITEKTUR 1

Fokussierter externer Speicher

Standalone
Kubernetes-Worker-Knoten
euroNAS Premium

Block- oder Dateidienste für eine kompakte Umgebung, in der Speicherintegration und vollständige Serverwiederherstellung von der umgebenden Architektur übernommen werden

  • Geeignet für statisch verwalteten oder unabhängig bereitgestellten Speicher
  • Kann als physischer oder Virtual Storage Appliance
  • Kein automatisches Storage-Controller-Failover innerhalb eines eigenständigen Servers bereitgestellt werden
Erkunden Sie euroNAS Premium →
ARCHITEKTUR 2

Hochverfügbarer externer Speicher

Zwei-Knoten-HA
Redundante Worker-Knotenpfade
euroNAS HA Cluster

Gemeinsamer Speicher mit automatischem lokalem Service-Failover durch ein synchrones Spiegel- oder Dual-Controller-Shared-Storage-Design

  • Multipathing für unterstützten Blockzugriff
  • NFS oder Blockdienste gemäß Anwendungsdesign
  • Separate asynchrone Wiederherstellungs- und Sicherungssteuerungen bleiben erforderlich
HA Cluster erkunden →
ARCHITEKTUR 3

Scale-out Datendienste

Keine feste Zwei-Knoten-Beschränkung
Containerplattform und andere Clients
eEKAS Ceph Speicher

Verteilte Block-, Datei- und S3 Dienste, die skalieren unabhängig von der Kubernetes-Rechenschicht und kann mehrere Verbrauchergruppen bedienen

  • Ceph Schutz über definierte Ausfalldomänen hinweg
  • Replikation oder Erasure Coding nach Workload
  • Jede direkte CSI-Integration muss unabhängig qualifiziert werden
Erkunden Sie eEKAS →
ARCHITEKTUR 4

Kubernetes-Knoten als virtuelle Maschinen

Virtuelle Infrastruktur
Kubernetes-Steuerungsebene und Worker-VMs
eEVOS-Virtualisierung

eEVOS kann Kubernetes-Knoten als virtuelle Maschinen hosten und interne, externe gemeinsam genutzte oder Ceph-gestützte Infrastruktur gemäß dem Clusterdesign bereitstellen

  • VM-Hochverfügbarkeit und Live-Migration
  • Integriertes Backup & Disaster Recovery für geschützte VMs
  • Kubernetes-Anwendungsschutz benötigt weiterhin ein eigenes Design
eEVOS erkunden →
Vor der Wahl der Architektur

Fragen, die vor dem ersten StorageClass geklärt werden müssen

01 · ZUGRIFFSMODUS

Benötigt die Workload einen Schreiber, mehrere Leser oder gleichzeitigen Lese-/Schreibzugriff über Knoten hinweg?

02 · BEREITSTELLUNG

Werden die Volumes statisch, über einen externen Provisioner oder über einen qualifizierten CSI-Treiber erstellt?

03 · NEUPLANUNG

Was geschieht mit dem Status von Anbindung, Einbindung und Anwendung, wenn ein Pod auf einen anderen Knoten verschoben wird?

04 · RECLAIM POLICY

Sollen Daten beim Entfernen eines PVC gelöscht oder beibehalten werden, und wer ist für den Bereinigungsprozess verantwortlich?

05 · RECOVERY

Welche RPO und RTO gelten für Löschung, Anwendungsbeschädigung, Knotenausfall und Standortverlust?

06 · SUPPORT MATRIX

Welche Kubernetes-, Treiber-, Knotenbetriebssystem-, Anwendungs- und Speicherversionen werden gemeinsam getestet?

Primäre Referenzen

Kubernetes-Speicherkonzepte

Verwenden Sie die aktuelle Kubernetes- und Integrationsdokumentation zur Validierung der endgültigen Bereitstellung

Persistente Volumes

Offizielle Kubernetes-Erklärung zu Volumes, die länger als einzelne Pods bestehen, und dem anspruchsbasierten Speichermodell

Kubernetes-Dokumentation öffnen →
Architekturdiskussion

Bringen Sie die Workload und den Integrationsplan mit

. Wir können Zugriffsmodi, Knotenkonnektivität, Speicherprotokolle, Verfügbarkeit, Wiederherstellung und Skalierbarkeit für eine Business-Container- oder Kubernetes-Umgebung überprüfen

Besprechen Sie Ihre Container-Speicherarchitektur
Nach oben scrollen