Vorbereiten von Linux für Edgevolumes (Vorschau)
In diesem Artikel wird beschrieben, wie Sie Linux für Edgevolumes mit AKS mit Azure Arc-Unterstützung, Edge Essentials oder Ubuntu vorbereiten.
Hinweis
Die mindestens benötigte Linux-Kernelversion ist 5.1. Derzeit gibt es bekannte Probleme mit 6.4 und 6.2.
Voraussetzungen
Hinweis
Azure Container Storage mit Azure Arc-Unterstützung ist nur in den folgenden Regionen verfügbar: „USA, Osten“, „USA, Osten 2“, „USA, Westen“, „USA, Westen 2“, „USA, Westen 3“, „Europa, Norden“ und „Europa, Westen“.
Deinstallieren einer früheren Instanz der Erweiterung für Azure Container Storage mit Azure Arc-Unterstützung
Wenn zuvor eine Version von Azure Container Storage mit Azure Arc-Unterstützung vor 2.1.0-Preview installiert war, müssen Sie diese frühere Instanz deinstallieren, bevor Sie die neuere Version installieren. Wenn das Release 1.2.0-Preview oder früher installiert ist, verwenden Sie diese Anweisungen. Bei Versionen nach 2.1.0-Preview ist ein Upgrade möglich, sodass keine Deinstallation erforderlich ist.
Um die alte Version der Erweiterung zu löschen, müssen die Kubernetes-Ressourcen bereinigt werden, die Verweise auf die alte Version der Erweiterung halten. Eventuell ausstehende Ressourcen können die Bereinigung der Erweiterung verzögern. Es gibt mindestens zwei Möglichkeiten zum Bereinigen dieser Ressourcen: Sie können
kubectl delete <resource_type> <resource_name>
verwenden oder die Anwendung der YAML-Dateien rückgängig machen, die zum Erstellen der Ressourcen verwendet wurden. Ressourcen, die gelöscht werden müssen, sind in der Regel die Pods, der referenzierte PVC und die CRD des Untervolumes (wenn ein Edgevolume für die Clouderfassung konfiguriert wurde). Sie können auch die folgenden vier YAML-Dateien mithilfe der folgenden Befehle in der angegebenen Reihenfolge ankubectl delete -f
übergeben. Diese Variablen müssen mit Ihren Informationen aktualisiert werden:YOUR_DEPLOYMENT_FILE_NAME_HERE
: Fügen Sie die Namen Ihrer Bereitstellungsdateien hinzu. Im Beispiel in diesem Artikel wurdedeploymentExample.yaml
als Dateiname verwendet. Wenn Sie mehrere Bereitstellungen erstellt haben, muss jede auf einer separaten Zeile gelöscht werden.YOUR_PVC_FILE_NAME_HERE
: Fügen Sie die PVC-Dateinamen (Persistent Volume Claim, persistenter Volumeanspruch) hinzu. Wenn Sie im Beispiel in diesem Artikel das Edgevolume für die Clouderfassung verwendet haben, lautete der verwendete DateinamecloudIngestPVC.yaml
. Wenn Sie das lokal freigegebene Edgevolume verwendet haben, lautete der verwendete DateinamelocalSharedPVC.yaml
. Wenn Sie mehrere PVCs erstellt haben, muss jeder auf einer separaten Zeile gelöscht werden.YOUR_EDGE_SUBVOLUME_FILE_NAME_HERE
: Fügen Sie die Dateinamen Ihrer Edgeuntervolumes hinzu. Im Beispiel in diesem Artikel wurdeedgeSubvolume.yaml
als Dateiname verwendet. Wenn Sie mehrere Untervolumes erstellt haben, muss jedes auf einer separaten Zeile gelöscht werden.YOUR_EDGE_STORAGE_CONFIGURATION_FILE_NAME_HERE
: Fügen Sie hier den Dateinamen Ihrer Edgespeicherkonfiguration hinzu. Im Beispiel in diesem Artikel wurdeedgeConfig.yaml
als Dateiname verwendet.
kubectl delete -f "<YOUR_DEPLOYMENT_FILE_NAME_HERE.yaml>" kubectl delete -f "<YOUR_PVC_FILE_NAME_HERE.yaml>" kubectl delete -f "<YOUR_EDGE_SUBVOLUME_FILE_NAME_HERE.yaml>" kubectl delete -f "<YOUR_EDGE_STORAGE_CONFIGURATION_FILE_NAME_HERE.yaml>"
Nachdem Sie die Dateien für Ihre Bereitstellungen, PVCs, Edgeuntervolumes und Edgespeicherkonfiguration aus dem vorherigen Schritt gelöscht haben, können Sie die Erweiterung mit dem folgenden Befehl deinstallieren. Ersetzen Sie
YOUR_RESOURCE_GROUP_NAME_HERE
,YOUR_CLUSTER_NAME_HERE
undYOUR_EXTENSION_NAME_HERE
durch Ihre entsprechenden Informationen:az k8s-extension delete --resource-group YOUR_RESOURCE_GROUP_NAME_HERE --cluster-name YOUR_CLUSTER_NAME_HERE --cluster-type connectedClusters --name YOUR_EXTENSION_NAME_HERE
Arc-verbundene Kubernetes Cluster
Diese Anleitung geht davon aus, dass Sie bereits über ein Arc-verbundenes Kubernetes-Cluster verfügen. Informationen zum Verbinden eines vorhandenen Kubernetes-Clusters mit Azure Arc finden Sie in diesen Anweisungen.
Wenn Sie Azure Container Storage mit Azure Arc-Unterstützung mit Azure IoT Einsatz verwenden möchten, befolgen Sie die Anweisungen zum Erstellen eines Clusters für Azure IoT Einsatz.
Einzelknoten- und Multiknotencluster
Ein Einzelknotencluster wird aufgrund seiner Einfachheit bei der Einrichtung und minimalen Ressourcenanforderungen häufig für Entwicklungs- oder Testzwecke verwendet. Diese Cluster bieten Entwicklern eine einfache und unkomplizierte Umgebung, um mit Kubernetes zu experimentieren, ohne dass die Komplexität eines Multiknoten-Setups erforderlich ist. Darüber hinaus ist in Situationen, in denen Ressourcen wie CPU, Arbeitsspeicher und Speicher begrenzt sind, ein Einzelknotencluster praktischer. Die einfache Einrichtung und minimalen Ressourcenanforderungen machen es zu einer geeigneten Wahl in Umgebungen mit eingeschränkten Ressourcen.
Einzelknotencluster haben jedoch Einschränkungen, meist in Form fehlender Features, einschließlich fehlender Verfügbarkeit, Fehlertoleranz, Skalierbarkeit und Leistung.
Eine Kubernetes-Konfiguration mit mehreren Knoten wird in der Regel für Produktions-, Staging- oder groß angelegte Szenarien verwendet, da sie Features wie Hochverfügbarkeit, Fehlertoleranz, Skalierbarkeit und Leistung bietet. Ein Multiknotencluster kommt außerdem mit Herausforderungen und Kompromissen, einschließlich Komplexität, Aufwand, Kosten und Effizienzaspekten. So erfordert z. B. das Einrichten und Verwalten eines Clusters mit mehreren Knoten zusätzliche Kenntnisse, Fähigkeiten, Tools und Ressourcen (Netzwerk, Speicher, Compute). Das Cluster muss die Koordination und Kommunikation zwischen Knoten behandeln, was zu potenzieller Latenz und Fehlern führt. Darüber hinaus ist das Ausführen eines Multiknotenclusters ressourcenintensiver und kostenintensiver als ein Einzelknotencluster. Die Optimierung der Ressourcennutzung zwischen Knoten ist entscheidend für die Aufrechterhaltung von Cluster- und Anwendungseffizienz und -leistung.
Zusammenfassend eignet sich ein Kubernetes-Cluster mit einem Knoten für Entwicklung und Tests und in Umgebungen mit eingeschränkten Ressourcen. Ein Cluster mit mehreren Knoten eignet sich hingegen besser für Produktionsbereitstellungen, Hochverfügbarkeit und Skalierbarkeit sowie für Szenarien, in denen verteilte Anwendungen notwendig sind. Diese Auswahl hängt letztendlich von Ihren spezifischen Anforderungen und den Zielen für Ihre Bereitstellung ab.
Hardwaremindestanforderungen
Einzelknoten oder 2-Knotencluster
- Standard_D8ds_v5-VM empfohlen
- Entsprechende Spezifikationen je Knoten:
- 4 CPUs
- 16 GB RAM
Cluster mit mehreren Knoten
- Standard_D8as_v5-VM empfohlen
- Entsprechende Spezifikationen je Knoten:
- 8 CPUs
- 32 GB RAM
32 GB RAM dienen als Puffer, allerdings sollten 16 GB RAM ausreichen. Edge Essentials-Konfigurationen erfordern 8 CPUs mit 10 GB RAM pro Knoten, sodass 16 GB RAM die Mindestanforderung ist.
Mindestspeicheranforderungen
Anforderungen für Edgevolumes
Wenn Sie die fehlertolerante Speicheroption verwenden, wird den Edgevolumes Speicherplatz aus einem fehlertoleranten Speicherpool zugewiesen, der aus dem von jedem Knoten im Cluster exportierten Speicher besteht.
Der Speicherpool ist für die Verwendung der 3-Wege-Replikation konfiguriert, um Fehlertoleranz sicherzustellen. Während seiner Bereitstellung wird dem Edgevolume Speicherplatz aus dem Speicherpool in drei der Replikate zugewiesen.
In einem Cluster mit drei Knoten und 20 GB Speicherplatz pro Knoten verfügt der Cluster über einen Speicherpool von 60 GB. Aufgrund der Replikation beträgt die effektive Speichergröße jedoch 20 GB.
Bei der Bereitstellung eines Edgevolumes mit einer angeforderten Größe von 10 GB wird ihm ein reserviertes Systemvolume (statische Größe von 1 GB) und ein Datenvolume (angeforderte Volumegröße, z. B. 10 GB) zugewiesen. Das reservierte Systemvolume verbraucht 3 GB (3 × 1 GB) Speicherplatz im Speicherpool, und das Datenvolume verbraucht 30 GB (3 × 10 GB) Speicherplatz im Speicherpool, sodass insgesamt 33 GB benötigt werden.
Anforderungen für Cachevolumes
Cachevolumes erfordern mindestens 4 GB Speicher pro Knoten. Bei einem Cluster mit drei Knoten benötigen Sie beispielsweise mindestens 12 GB Speicher.