Freigeben über


Deaktivieren des Windows-Knotenpoolfeatures in Azure Local

Gilt für: Azure Local, Version 23H2

Wenn Sie Azure Local installieren, werden automatisch drei virtuelle Festplatten (VHDs) – Azure Linux, Windows Server 2019 und Windows Server 2022 – heruntergeladen. VHDs sind erforderlich, um AKS auf Azure Local bereitzustellen, da sie als Basisbetriebssystemimages für die Kubernetes-Knoten in Ihrem AKS-Cluster dienen. Für eine gemischte Betriebssystemumgebung (sowohl Windows- als auch Linux-Knoten) ist eine Windows Server 2019- oder Windows Server 2022-VHD für die Bereitstellung eines Windows Server 2019- oder 2022-Knotenpools erforderlich. Der Linux-Knotenpool verwendet die azure Linux-VHD, die für die Ausführung von Kubernetes optimiert ist. In Umgebungen, in denen nur Linux-Container verwendet werden, ist die Windows-VHD jedoch nicht erforderlich. Sie können das Windows-Knotenpool-Feature deaktivieren, um das Herunterladen und Speichern dieser großen Datei zu vermeiden, wodurch Bandbreite und Speicherplatz gespart werden.

In diesem Artikel erfahren Sie, wie Sie das Windows-Knotenpoolfeature für Azure Kubernetes Service (AKS) unter Azure Local deaktivieren. Durch deaktivieren dieses Feature wird verhindert, dass windows Virtual Hard Disks (VHDs) automatisch heruntergeladen werden, die etwa 20 GB groß sind und zum Erstellen von Windows-basierten Knotenpools erforderlich sind. Dadurch können Unternehmen mit eingeschränkter Internetbandbreite unnötige Downloads vermeiden, insbesondere, wenn ihre Workloads ausschließlich Linux-Container verwenden. Dieses Feature hilft bei der Optimierung der Bandbreitennutzung und vereinfacht die Ressourcenverwaltung für Umgebungen, in denen Windows-Knoten nicht benötigt werden.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:

  • Azure Local bereitgestellt. Dieser Artikel gilt nur, wenn Sie Azure Local, Version 2411, bereits bereitgestellt haben. Sie können die Befehle in diesem Artikel nicht ausführen, bevor Sie Azure Local Release 2411 bereitstellen. Wir unterstützen derzeit nicht die Möglichkeit, diese Änderung vor der ursprünglichen Azure Local Release 2411-Bereitstellung vorzunehmen.
  • Azure RBAC-Berechtigungen zum Aktualisieren der lokalen Azure-Konfiguration. Stellen Sie sicher, dass Sie über die folgenden Rollen verfügen. Weitere Informationen finden Sie unter erforderlichen Berechtigungen für die Bereitstellung:
    • Lokaler Azure-Administrator
    • Leser
  • Benutzerdefinierter Speicherort. Namen des benutzerdefinierten Standorts. Der benutzerdefinierte Speicherort wird während der lokalen Azure-Bereitstellung konfiguriert. Wenn Sie sich im Azure-Portal befinden, wechseln Sie zur Seite "Übersichtsserver>" in der Lokalen Azure-Systemressource. Sie sollten einen benutzerdefinierten Speicherort für Ihren Cluster sehen.
  • Azure-Ressourcengruppe. Die Azure-Ressourcengruppe, in der Azure Local bereitgestellt wird.

Zur Vereinfachung der Konfiguration definieren die folgenden Schritte Umgebungsvariablen, auf die in diesem Artikel verwiesen wird. Denken Sie daran, die angezeigten Werte durch Ihre eigenen Werte zu ersetzen.

Legen Sie den benutzerdefinierten Speicherort und die Ressourcengruppenwerte in Umgebungsvariablen fest:

$customlocationName = <The custom location name for Azure Local>
$resourceGroup = <The Azure resource group in which Azure Local is deployed>

Führen Sie als Nächstes den folgenden Befehl aus, um den clusterName Parameter abzurufen. Dieser Parameter ist der Name der Arc Resource Bridge, die Sie in Azure Local bereitgestellt haben:

az customlocation show -n $customlocationName -g $resourceGroup --query hostResourceId

Erwartete Ausgabe:

/subscriptions/f3dwer-00000-4383-2345-00000/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge

In dieser Ausgabe ist der Name der Arc-Ressourcenbrücke, sanjose-arcbridge die Sie im lokalen Azure-Cluster bereitgestellt haben. Dieser Name unterscheidet sich für Ihre Bereitstellung.

$clusterName = <Name of Arc resource bridge deployed on the Azure Local cluster>

Rufen Sie als Nächstes den Namen der AKS Arc-Erweiterung ab, die Sie an dem benutzerdefinierten Speicherort bereitgestellt haben. Führen Sie zum Abrufen dieses Namens den folgenden Befehl aus, um die auf dem benutzerdefinierten Speicherort installierten Erweiterungen auflisten zu können:

az customlocation show -n $customlocationID -g $resourceGroup --query clusterExtensionIds -o tsv

Erwartete Ausgabe:

/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/hybridaksextension
/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/vmss-hci

Sie sollten zwei Erweiterungen auf Ihrem benutzerdefinierten Speicherort installiert haben: AKS Arc und Arc VM Management. Kopieren Sie den Erweiterungsnamen für AKS in eine Umgebungsvariable. In der Beispielausgabe lautet hybridaksextensionder Erweiterungsname . Dies unterscheidet sich möglicherweise von dem, was Sie sehen:

$extensionName = <Name of AKS Arc extension you deployed on the custom location>

Nachdem Sie über den Erweiterungsnamen verfügen, erstellen Sie Variablen für die folgenden Parameter, und deaktivieren Sie dann das Windows-Knotenpool-Feature:

$extensionVersion = "$(az k8s-extension show -n $extensionName  -g $resourceGroup -c $clusterName --cluster-type appliances --query version -o tsv)"
$releaseTrain = "$(az k8s-extension show -n $extensionName -g $resourceGroup -c $clusterName --cluster-type appliances --query releaseTrain -o tsv)"
az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes

Alternative Option: Deaktivieren des Windows-Knotenpools nach dem Herstellen einer Verbindung mit einem lokalen azure-physischen Knoten über Remotedesktop

Wenn Sie aus irgendeinem Grund Azure CloudShell oder einen Computer mit Verbindung mit Azure nicht verwenden können, um den Windows-Knotenpool zu deaktivieren, können Sie den Windows-Knotenpool deaktivieren, nachdem Sie eine Verbindung mit einem der lokalen azure-physischen Knoten mit Remotedesktop hergestellt haben. Sie müssen sich zuerst bei Azure anmelden:

az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes 

Überprüfen, ob das Windows-Knotenpool-Feature deaktiviert ist

Sie können überprüfen, ob die Konfigurationseinstellungen angewendet wurden, indem Sie folgendes ausführen az k8s-extension show:

az k8s-extension show --name $extensionName --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --query configurationSettings 

Erwartete Ausgabe:

...
"disable-windows-nodepool": "true",
...

Überprüfen Sie als Nächstes, ob Windows-Knotenpools deaktiviert wurden, indem Sie den folgenden Befehl ausführen:

az aksarc get-versions --resource-group $resourceGroup --custom-location $customlocationName

Die Ausgabe für osType=Windows sollte "Windows nodepool feature is disabled" sagen, and the ready state should be false, for each Kubernetes version option:

...
"1.27.7": {
            "readiness": [
              {
                "errorMessage": null,
                "osSku": "CBLMariner",
                "osType": "Linux",
                "ready": true
              },
              {
                "errorMessage": "Windows nodepool feature is disabled",
                "osSku": "Windows2019",
                "osType": "Windows",
                "ready": false
              },
              {
                "errorMessage": "Windows nodepool feature is disabled",
                "osSku": "Windows2022",
                "osType": "Windows",
                "ready": false
              }
            ],
...

Häufig gestellte Fragen

Was geschieht, wenn ich versuche, windows nodepool und Windows-Knotenpools zu deaktivieren, auf dem Atleast 1 AKS-Cluster in der lokalen Azure-Bereitstellung vorhanden ist?

Sie müssen den Windows-Knotenpool manuell löschen, bevor Sie das Feature deaktivieren. Wenn windows-Knotenpools vorhanden sind, können Sie das Feature nicht deaktivieren.

Was geschieht mit heruntergeladenen Windows-VHDs, wenn ich Windows-Knotenpools deaktiviere?

Die zuvor heruntergeladenen Windows-VHDs werden automatisch gelöscht, wenn das Windows-Knotenpools-Feature deaktiviert ist. Sie können überprüfen, ob Windows-VHDs aus den lokalen Azure-Speicherpfaden entfernt wurden. Das Löschen kann einige Zeit in Anspruch nehmen. Warten Sie 30 Minuten vor der Überprüfung. Sie müssen alle Speicherpfade überprüfen, da Windows-VHDs Speicherpfaden basierend auf verfügbarer Speicherkapazität auf Roundrobin-Weise zugewiesen sind.

Nächste Schritte