Windows-Containerspeicher mit AKS Hybrid

Abgeschlossen

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:

Diagram showing the architecture of an AKS hybrid cluster that is using the AKS hybrid deployment option AKS on 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.