Condividi tramite


Disabilitare la funzionalità pool di nodi di Windows in Locale di Azure

Si applica a: Locale di Azure, versione 23H2

Quando si installa Azure Locale, vengono scaricati automaticamente tre dischi rigidi virtuali ( VHD) - Linux di Azure, Windows Server 2019 e Windows Server 2022. I dischi rigidi virtuali sono necessari per distribuire il servizio Azure Kubernetes in Locale di Azure perché fungono da immagini del sistema operativo di base per i nodi Kubernetes all'interno del cluster del servizio Azure Kubernetes. Per un ambiente del sistema operativo misto (nodi Windows e Linux), è necessario un disco rigido virtuale Windows Server 2019 o Windows Server 2022 per il provisioning di un pool di nodi di Windows Server 2019 o 2022. Il pool di nodi Linux usa il disco rigido virtuale Linux di Azure ottimizzato per l'esecuzione di Kubernetes. Negli ambienti in cui vengono usati solo i contenitori Linux, tuttavia, il disco rigido virtuale Windows non è necessario. È possibile disabilitare la funzionalità pool di nodi di Windows per evitare di scaricare e archiviare questo file di grandi dimensioni, che consente di risparmiare larghezza di banda e spazio di archiviazione.

Questo articolo illustra come disabilitare la funzionalità pool di nodi di Windows per servizio Azure Kubernetes (AKS) in Locale di Azure. La disabilitazione di questa funzionalità impedisce il download automatico dei dischi rigidi virtuali Windows( VHD), che sono di circa 20 GB e necessari per la creazione di pool di nodi basati su Windows. In questo modo, le aziende con larghezza di banda Internet limitata possono evitare download non necessari, soprattutto se i carichi di lavoro usano esclusivamente contenitori Linux. Questa funzionalità consente di ottimizzare l'utilizzo della larghezza di banda e di semplificare la gestione delle risorse per gli ambienti in cui i nodi Windows non sono necessari.

Operazioni preliminari

Prima di iniziare, verificare di aver soddisfatto i prerequisiti seguenti:

  • Distribuzione locale di Azure. Questo articolo è applicabile solo se azure locale è già stato distribuito, versione 2411. Non è possibile eseguire i comandi in questo articolo prima di distribuire Azure Local release 2411. Attualmente non è supportata la possibilità di apportare questa modifica prima della distribuzione iniziale di Azure Local release 2411.
  • Autorizzazioni di Controllo degli accessi in base al ruolo di Azure per aggiornare la configurazione locale di Azure. Assicurarsi di avere i ruoli seguenti. Per altre informazioni, vedere Autorizzazioni necessarie per la distribuzione:
    • Amministratore locale di Azure
    • Lettore
  • Percorso personalizzato. Nome della posizione personalizzata. Il percorso personalizzato viene configurato durante la distribuzione locale di Azure. Se ci si trova nella portale di Azure, passare alla pagina Panoramica > server nella risorsa di sistema locale di Azure. Verrà visualizzata una posizione personalizzata per il cluster.
  • Gruppo di risorse di Azure. Gruppo di risorse di Azure in cui viene distribuito Azure Local.

Per semplificare la configurazione, i passaggi seguenti definiscono le variabili di ambiente a cui si fa riferimento in questo articolo. Ricordarsi di sostituire i valori visualizzati con i propri valori.

Impostare la posizione personalizzata e i valori del gruppo di risorse nelle variabili di ambiente:

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

Eseguire quindi il comando seguente per ottenere il clusterName parametro . Questo parametro è il nome del bridge di risorse Arc distribuito in Locale di Azure:

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

Output previsto:

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

In questo output è sanjose-arcbridge il nome del bridge di risorse Arc distribuito nel cluster locale di Azure. Questo nome è diverso per la distribuzione.

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

Ottenere quindi il nome dell'estensione Arc del servizio Azure Kubernetes distribuita nel percorso personalizzato. Per ottenere questo nome, eseguire il comando seguente per elencare le estensioni installate nel percorso personalizzato:

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

Output previsto:

/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

Nel percorso personalizzato devono essere installate due estensioni: Gestione delle macchine virtuali Arc e Arc del servizio Azure Kubernetes. Copiare il nome dell'estensione per il servizio Azure Kubernetes in una variabile di ambiente. Nell'output di esempio il nome dell'estensione è hybridaksextension. Potrebbe essere diverso da quello visualizzato:

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

Dopo aver ottenuto il nome dell'estensione, creare variabili per i parametri seguenti e quindi disabilitare la funzionalità pool di nodi di Windows:

$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

Opzione alternativa: disabilitare il pool di nodi Windows dopo la connessione a un nodo fisico locale di Azure tramite Desktop remoto

Se per qualche motivo non è possibile usare Azure CloudShell o un computer con connettività ad Azure per disabilitare il pool di nodi Windows, è possibile disabilitare il pool di nodi Windows dopo la connessione a uno dei nodi fisici locali di Azure con Desktop remoto. È prima necessario accedere ad 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 

Verificare se la funzionalità pool di nodi di Windows è disabilitata

È possibile verificare se le impostazioni di configurazione sono state applicate eseguendo az k8s-extension show, come indicato di seguito:

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

Output previsto:

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

Controllare quindi se i pool di nodi di Windows sono stati disabilitati eseguendo il comando seguente:

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

L'output per osType=Windows deve indicare che "La funzionalità del pool di nodi di Windows è disabilitata" e lo ready stato deve essere false, per ogni opzione di versione di Kubernetes:

...
"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
              }
            ],
...

Domande frequenti

Cosa accade se si tenta di disabilitare il pool di nodi Windows e i pool di nodi Di Windows esistono nel cluster del servizio Azure Kubernetes atleast 1 nella distribuzione locale di Azure?

È necessario eliminare manualmente il pool di nodi di Windows prima di disabilitare la funzionalità. Se sono presenti pool di nodi di Windows esistenti, non è possibile disabilitare la funzionalità.

Cosa accade ai dischi rigidi virtuali Windows scaricati se si disabilitano i pool di nodi Windows?

I dischi rigidi virtuali Windows scaricati in precedenza vengono eliminati automaticamente se la funzionalità pool di nodi di Windows è disabilitata. È possibile verificare se i dischi rigidi virtuali Windows sono stati rimossi dai percorsi di archiviazione locale di Azure. L'eliminazione può richiedere del tempo. Attendere 30 minuti prima del controllo. È necessario controllare tutti i percorsi di archiviazione, perché i dischi rigidi virtuali Windows vengono assegnati ai percorsi di archiviazione in modalità round robin, in base alla capacità di archiviazione disponibile.

Passaggi successivi