Inaktivera funktionen Windows nodepool på Azure Local
Gäller för: Azure Local, version 23H2
När du installerar Azure Local laddas tre virtuella hårddiskar (VHD) – Azure Linux, Windows Server 2019 och Windows Server 2022 – ned automatiskt. Virtuella hårddiskar behövs för att distribuera AKS på Azure Local eftersom de fungerar som basoperativsystemavbildningar för Kubernetes-noderna i aks-klustret. För en miljö med blandat operativsystem (både Windows- och Linux-noder) krävs en virtuell hårddisk för Windows Server 2019 eller Windows Server 2022 för att etablera en Windows Server 2019 eller 2022-nodpool. Linux-nodpoolen använder den virtuella Azure Linux-hårddisken som är optimerad för att köra Kubernetes. I miljöer där endast Linux-containrar används är dock den virtuella Windows-hårddisken onödig. Du kan inaktivera funktionen Windows nodepool för att undvika att ladda ned och lagra den här stora filen, vilket sparar bandbredd och lagringsutrymme.
Den här artikeln beskriver hur du inaktiverar funktionen Windows nodepool för Azure Kubernetes Service (AKS) på Azure Local. Om du inaktiverar den här funktionen förhindras automatisk nedladdning av virtuella Windows-hårddiskar (VHD), som är cirka 20 GB stora och krävs för att skapa Windows-baserade nodpooler. På så sätt kan företag med begränsad Internetbandbredd undvika onödiga nedladdningar, särskilt om deras arbetsbelastningar uteslutande använder Linux-containrar. Den här funktionen hjälper till att optimera bandbreddsanvändningen och förenklar resurshanteringen för miljöer där Windows-noder inte behövs.
Innan du börjar
Innan du börjar kontrollerar du att du har följande förutsättningar:
- Azure Local har distribuerats. Den här artikeln gäller endast om du redan har distribuerat Azure Local, version 2411. Du kan inte köra kommandona i den här artikeln innan du distribuerar Azure Local version 2411. Vi stöder för närvarande inte möjligheten att göra den här ändringen innan den första Azure Local-distributionen 2411.
- Azure RBAC-behörigheter för att uppdatera lokal Azure-konfiguration. Kontrollera att du har följande roller. Mer information finns i nödvändiga behörigheter för distribution:
- Lokal Azure-administratör
- Läsare
- Anpassad plats. Namnet på den anpassade platsen. Den anpassade platsen konfigureras under den lokala Azure-distributionen. Om du befinner dig i Azure Portal går du till sidan Översiktsserver > i Azure Local System-resursen. Du bör se en anpassad plats för klustret.
- Azure-resursgrupp. Den Azure-resursgrupp där Azure Local distribueras.
Rekommenderat alternativ: inaktivera Windows-nodpool från en Azure CloudShell-session
För att förenkla konfigurationen definierar följande steg miljövariabler som refereras i den här artikeln. Kom ihåg att ersätta de värden som visas med dina egna värden.
Ange den anpassade platsen och resursgruppsvärdena i miljövariabler:
$customlocationName = <The custom location name for Azure Local>
$resourceGroup = <The Azure resource group in which Azure Local is deployed>
Kör sedan följande kommando för att hämta parametern clusterName
. Den här parametern är namnet på Arc Resource Bridge som du distribuerade i Azure Local:
az customlocation show -n $customlocationName -g $resourceGroup --query hostResourceId
Förväntad utdata:
/subscriptions/f3dwer-00000-4383-2345-00000/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge
I det här utdata sanjose-arcbridge
är namnet på den Arc-resursbrygga som du distribuerade i det lokala Azure-klustret. Det här namnet är annorlunda för distributionen.
$clusterName = <Name of Arc resource bridge deployed on the Azure Local cluster>
Hämta sedan namnet på AKS Arc-tillägget som du distribuerade till den anpassade platsen. Hämta det här namnet genom att köra följande kommando för att visa de tillägg som är installerade på den anpassade platsen:
az customlocation show -n $customlocationID -g $resourceGroup --query clusterExtensionIds -o tsv
Förväntad utdata:
/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
Du bör ha två tillägg installerade på din anpassade plats: AKS Arc- och Arc VM-hantering. Kopiera tilläggsnamnet för AKS till en miljövariabel. I exempelutdata är hybridaksextension
tilläggsnamnet . Det kan skilja sig från det du ser:
$extensionName = <Name of AKS Arc extension you deployed on the custom location>
När du har tilläggets namn skapar du variabler för följande parametrar och inaktiverar sedan funktionen Windows nodepool:
$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
Alternativt alternativ: inaktivera Windows-nodpoolen när du har anslutit till en fysisk Azure-nod via Fjärrskrivbord
Om du av någon anledning inte kan använda Azure CloudShell eller en dator med anslutning till Azure för att inaktivera Windows-nodpoolen kan du inaktivera Windows-nodpoolen när du har anslutit till någon av de fysiska Azure-noderna med Fjärrskrivbord. Du måste först logga in på Azure:
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
Kontrollera om funktionen För Windows-nodpool är inaktiverad
Du kan kontrollera om konfigurationsinställningarna tillämpades genom att köra az k8s-extension show
, enligt följande:
az k8s-extension show --name $extensionName --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --query configurationSettings
Förväntad utdata:
...
"disable-windows-nodepool": "true",
...
Kontrollera sedan om Windows-nodpooler har inaktiverats genom att köra följande kommando:
az aksarc get-versions --resource-group $resourceGroup --custom-location $customlocationName
Utdata för osType=Windows
ska säga "Funktionen windows nodepool är inaktiverad" och ready
tillståndet ska vara false
, för varje Kubernetes-versionsalternativ:
...
"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
}
],
...
Vanliga frågor
Vad händer om jag försöker inaktivera Windows-nodpoolen och Windows-nodpooler finns i minst 1 AKS-kluster i den lokala Azure-distributionen?
Du måste ta bort Windows-nodpoolen manuellt innan du inaktiverar funktionen. Om det finns befintliga Windows-nodpooler kan du inte inaktivera funktionen.
Vad händer med nedladdade virtuella Windows-hårddiskar om jag inaktiverar Windows-nodpooler?
De virtuella Windows-hårddiskar som tidigare laddades ned tas bort automatiskt om funktionen Windows nodepools är inaktiverad. Du kan kontrollera om virtuella Windows-hårddiskar har tagits bort från Azure Local Storage-sökvägarna. Borttagningen kan ta lite tid. Vänta 30 minuter innan du kontrollerar. Du måste kontrollera alla lagringssökvägar eftersom virtuella Windows-hårddiskar har tilldelats lagringssökvägar i resursallokering baserat på tillgänglig lagringskapacitet.