Windows-Containerspeicher mit AKS Hybrid
Azure Kubernetes Service (AKS)-Hybridbereitstellungsoptionen ("AKS Hybrid") ist eine lokale Implementierung des Azure Kubernetes Service Orchestrators. Der Orchestrator automatisiert die Ausführung containerisierter Anwendungen im großen Maßstab, sodass Sie überall konsistente cloudeigene Anwendungen betreiben können. lokale Infrastruktur und Integration in Azure-Dienste.
Je nach Hardwareklasse, Computeverfügbarkeit und Kubernetes-Einführung sind die folgenden AKS-Hybridbereitstellungsoptionen verfügbar:
- AKS unter Windows Server
- AKS Kubernetes Service in Azure Stack HCI (Hyperkonvergente Infrastruktur)
- AKS-Clusterbereitstellung aus Azure (VORSCHAU)
- AKS Edge Essentials
Speicher in AKS Hybrid
Da AKS Hybrid eine Implementierung von AKS ist, sind die meisten Speicherkonzepte identisch. Ein AKS-Hybridcluster enthält eine von AKS verwaltete Steuerungsebene, die die wichtigsten Kubernetes-Dienste und Orchestrierung bereitstellt, während Sie die Knoten verwalten, die Pods mit Ihren Anwendungsworkloads enthalten. Das folgende Diagramm zeigt die Architektur eines AKS-Hybridclusters, der die AKS-Hybridbereitstellungsoption Azure Kubernetes Service in Azure Stack HCI:
Wie in AKS sind herkömmliche Volumes Kubernetes-Ressourcen, die von Azure Storage unterstützt werden. Sie können Datenvolumes manuell erstellen, damit sie Pods direkt zugewiesen werden, oder durch Kubernetes automatisch erstellen lassen. Um diese Volumes zu Azure Storage zuzuordnen, verwendet AKS Hybrid das Container Storage Interface (CSI). AKS Hybrid unterstützt Windows-Container und dauerhaften Speicher mit den gleichen CSI-Treibern wie AKS.
Beim Erstellen von dauerhaftem Speicher verwendet AKS Hybrid dieselben Kubernetes-Konzepte wie AKS, mit einigen Abweichungen. Dauerhafte Datenträger werden statisch oder dynamisch erstellt. Wenn Sie sie dynamisch erstellen, definieren Sie ihren Typ und Lebenszyklus mit einer Speicherklasse, und sie sind an das persistente Volumen (PV) mit einem persistenten Volumenanspruch (PVC) gebunden.
Wo sich der Hybridspeicher von AKS unterscheidet, ist die Unterstützung für die Verwendung Ihres lokalen Speichers als beständiger Speicher.
Persistente Volumes
Ein persistentes Volume ist eine von der Kubernetes-API erstellte und verwaltete Speicherressource, die unabhängig von der Lebensdauer eines einzelnen Pods vorhanden sein kann. Wenn Sie z. B. die AKS-Hybridbereitstellungsoption Azure Kubernetes Service in Azure Stack HCI verwenden, können Sie AKS-Datenträgervolumes verwenden, die von VHDX (virtual hard disk file type) unterstützt werden und gleichzeitig ReadWriteOnce
auf einen einzelnen Knoten zugreifen können. Sie können auch AKS-Dateien-Volumes verwenden, die von SMB- (Server Message Block) oder NFS-Dateifreigaben (Network File System) unterstützt werden. Diese werden meist als ReadWriteMany
eingebunden und stehen mehreren Knoten gleichzeitig zur Verfügung.
Ein Clusteradministrator kann ein dauerhaftes Volume statisch, oder dynamisch mit dem Kubernetes-API-Server erstellen. Wenn ein Pod eingeplant ist und Speicher anfordert, der zurzeit nicht verfügbar ist, kann Kubernetes die zugrunde liegende VHDX-Datei erstellen und dem Pod anfügen. Dynamische Bereitstellung verwendet eine StorageClass
zum Identifizieren des Speichertyps, der erstellt werden muss.
Speicherklassen
Eine Speicherklasse definiert die Speicherebene, den Speicherort und reclaimPolicy
die zugrunde liegende Speicherressource.
In AKS-Hybrid wird die Standardspeicherklasse automatisch erstellt und verwendet CSV zum Erstellen von VHDX-gesicherten Volumes. Mit der Freigaberichtlinie wird sichergestellt, dass die zugrunde liegende VHDX gelöscht wird, wenn das persistente Volume gelöscht wird, das es verwendet hat. Mit der Speicherklasse werden auch die persistenten Volumes so konfiguriert, dass sie erweiterbar sind. Sie müssen lediglich den Anspruch der persistenten Volumes entsprechend der neuen Größe anpassen.
Wenn Sie kein StorageClass
als persistentes Volume angeben, wird die standardmäßige StorageClass
verwendet. Stellen Sie sicher, dass beim Anfordern persistenter Volumes der entsprechende Speicher verwendet wird. Sie können eine StorageClass für weitere Anforderungen erstellen.
Ansprüche auf persistente Volumes
Eine PersistentVolumeClaim
Anforderung oder ReadWriteOnce
ReadWriteMany
Speicher einer bestimmten StorageClass
und Größe. Der Kubernetes-API-Server kann die zugrunde liegende Speicherressource in AKS Hybrid dynamisch bereitstellen, wenn basierend auf dem definierten StorageClass
keine Ressourcen zum Erfüllen des Anspruchs vorhanden sind. Sobald die Verbindung des Volumes mit dem Pod hergestellt ist, enthält die Poddefinition die Volumebereitstellung.
Eine PersistentVolume
ist an eine PersistentVolumeClaim
Bindung gebunden, sobald eine verfügbare Speicherressource dem Pod zugewiesen wurde, der sie anfordert. Es gibt eine 1:1-Zuordnung persistenter Volumes zu Ansprüchen.
Verwenden lokaler Datenträger für beständigen Speicher
Einer der Vorteile der Verwendung von AKS Hybrid besteht darin, dass Sie lokale Datenträger als beständigen Speicher für Windows-Container verwenden können. Lokale Datenträger sind physische Datenträger, die an Ihre lokalen Knoten angefügt sind. Lokale Datenträger bieten hohe Leistung und niedrige Latenz für Ihre containerisierten Anwendungen.
Wenn Sie lokale Datenträger mit Windows-Containern in AKS-Hybrid verwenden möchten, müssen Sie das Plug-In für die lokale Volumebereitstellung verwenden. Dieses Plug-In erkennt und erstellt persistente Volumes (PVs) für lokale Datenträger auf Ihren Knoten automatisch. Anschließend müssen Sie persistente Volumeansprüche (PVCs) erstellen, die den PVs basierend auf Knotenaffinität und Speicherklasse entsprechen. Schließlich müssen Sie die PVCs mithilfe von Volumedefinitionen an Ihre Pods oder Container einbinden.