Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il servizio Azure Kubernetes è un servizio Kubernetes gestito che permette di distribuire e gestire rapidamente i cluster. In questo articolo, si utilizza Azure CLI per distribuire un cluster AKS che esegue container Windows Server. Si distribuisce anche un'applicazione di esempio ASP.NET in un contenitore di Windows Server nel cluster.
Nota
Per iniziare con il provisioning rapido di un cluster AKS, questo articolo include i passaggi per distribuire un cluster con impostazioni predefinite per soli scopi di valutazione. Prima di distribuire un cluster pronto per la produzione, è consigliabile acquisire familiarità con l'architettura di riferimento di base per valutare il modo in cui è allineato ai requisiti aziendali.
Operazioni preliminari
Questa guida introduttiva presuppone una comprensione di base dei concetti relativi a Kubernetes. Per altre informazioni, vedere Concetti di base relativi a Kubernetes per il servizio Azure Kubernetes.
- Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Introduzione ad Azure Cloud Shell.
Se si preferisce eseguire localmente i comandi di riferimento della CLI, installare l'Azure CLI. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Eseguire l'autenticazione ad Azure con l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
- Questo articolo richiede la versione 2.0.64 o successiva dell'interfaccia della riga di comando di Azure. Se si sta usando Azure Cloud Shell, la versione più recente è già installata.
- Assicurarsi che l'identità usata per creare il cluster disponga delle autorizzazioni minime adeguate. Per maggiori informazioni sull'accesso e l'identità per il servizio Azure Kubernetes, vedere Opzioni di accesso e identità per il servizio Azure Kubernetes (AKS).
- Se si hanno più sottoscrizioni di Azure, selezionare l'ID sottoscrizione appropriato in cui devono essere fatturate le risorse, usando il comando set account az. Per altre informazioni, vedere Come gestire le sottoscrizioni di Azure - Interfaccia della riga di comando di Azure.
Creare un gruppo di risorse
Un gruppo di risorse di Azure è un gruppo logico in cui le risorse di Azure vengono distribuite e gestite. Quando si crea un gruppo di risorse, viene chiesto di specificare una posizione. Questa posizione è la posizione in cui vengono archiviati i metadati del gruppo di risorse e dove vengono eseguite le risorse in Azure se non si specifica un'altra area durante la creazione delle risorse.
- Creare un gruppo di risorse con il comando az group create. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località WestUS2 . Inserire questo comando e gli altri comandi di questo articolo in una shell BASH.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="canadacentral"
export MY_RESOURCE_GROUP_NAME="myAKSResourceGroup$RANDOM_SUFFIX"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
Risultati:
{
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupxxxxx",
"location": "WestUS2",
"managedBy": null,
"name": "myResourceGroupxxxxx",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Creare un cluster AKS
In questa sezione creiamo un cluster AKS con la configurazione seguente:
- Il cluster è configurato con due nodi per garantire che funzioni in modo affidabile. Un nodo è una macchina virtuale di Azure che esegue i componenti del nodo Kubernetes e il runtime del contenitore.
- I parametri
--windows-admin-password
e--windows-admin-username
impostano le credenziali di amministratore per tutti i nodi di Windows Server nel cluster e devono soddisfare i requisiti delle password di Windows Server. - Il pool di nodi usa
VirtualMachineScaleSets
.
Per creare il cluster AKS con l'interfaccia della riga di comando di Azure, seguire questa procedura:
- Creare un nome utente da usare come credenziali di amministratore per i nodi di Windows Server nel cluster. L'esempio originale richiesto per l'input. In questo documento Exec la variabile di ambiente viene impostata in modo non interattivo.
export WINDOWS_USERNAME="winadmin"
- Creare una password per il nome utente amministratore creato nel passaggio precedente. La password deve avere un minimo di 14 caratteri e soddisfare i requisiti di complessità delle password di Windows Server.
export WINDOWS_PASSWORD=$(echo "P@ssw0rd$(openssl rand -base64 10 | tr -dc 'A-Za-z0-9!@#$%^&*()' | cut -c1-6)")
- Creare il cluster usando il comando az aks create e specificare i parametri
--windows-admin-username
e--windows-admin-password
. Il comando di esempio seguente crea un cluster usando i valori di WINDOWS_USERNAME e WINDOWS_PASSWORD impostati nei comandi precedenti. Un suffisso casuale viene aggiunto al nome del cluster per l'univocità.
export MY_AKS_CLUSTER="myAKSCluster$RANDOM_SUFFIX"
az aks create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_AKS_CLUSTER \
--node-count 2 \
--enable-addons monitoring \
--generate-ssh-keys \
--windows-admin-username $WINDOWS_USERNAME \
--windows-admin-password $WINDOWS_PASSWORD \
--vm-set-type VirtualMachineScaleSets \
--network-plugin azure
Il comando viene completato dopo pochi minuti e vengono restituite informazioni in formato JSON sul cluster. Occasionalmente, il provisioning del cluster può richiedere più tempo. Attendere fino a 10 minuti per il provisioning.
Se viene visualizzato un errore di convalida della password e la password impostata soddisfa i requisiti di lunghezza e complessità, provare a creare il gruppo di risorse in un'altra area. Provare quindi a creare il cluster con il nuovo gruppo di risorse.
Se non si specifica un nome utente e una password amministratore durante la creazione del pool di nodi, il nome utente viene impostato su azureuser e la password viene impostata su un valore casuale. Per altre informazioni, vedere Domande frequenti su Windows Server
Non è possibile modificare il nome utente dell'amministratore, ma è possibile modificare la password di amministratore usata dal cluster del servizio Azure Kubernetes per i nodi di Windows Server usando az aks update
. Per altre informazioni, vedere Domande frequenti su Windows Server.
Per eseguire un cluster AKS che supporti i pool di nodi per i contenitori di Windows Server, il cluster deve utilizzare un criterio di rete che impieghi il plug-in di rete Azure CNI (avanzato). Il parametro --network-plugin azure
specifica Azure CNI.
Aggiungere un pool di nodi
Per impostazione predefinita, un cluster del servizio Azure Kubernetes viene creato con un pool di nodi in grado di eseguire contenitori Linux. È necessario aggiungere un altro pool di nodi in grado di eseguire contenitori di Windows Server insieme al pool di nodi Linux.
Windows Server 2022 è il sistema operativo predefinito per Kubernetes 1.25.0 e versioni successive. Windows Server 2019 è il sistema operativo predefinito per le versioni precedenti. Se non si specifica uno SKU specifico del sistema operativo, Azure crea il nuovo pool di nodi con lo SKU predefinito per la versione di Kubernetes usata dal cluster.
- Pool di nodi Windows (SKU predefinito)
- Pool di nodi di Windows Server 2022
- Pool di nodi di Windows Server 2019
Per usare lo SKU del sistema operativo predefinito, creare il pool di nodi senza specificare uno SKU del sistema operativo. Il pool di nodi è configurato per il sistema operativo predefinito in base alla versione Kubernetes del cluster.
Aggiungere un pool di nodi di Windows usando il comando az aks nodepool add
. Il comando seguente crea un nuovo pool di nodi denominato npwin e lo aggiunge a myAKSCluster. Il comando usa anche la subnet predefinita nella rete virtuale predefinita creata durante l'esecuzione di az aks create
. Non viene specificato uno SKU del sistema operativo, quindi il pool di nodi è impostato sul sistema operativo predefinito in base alla versione Kubernetes del cluster:
az aks nodepool add \
--resource-group $MY_RESOURCE_GROUP_NAME \
--cluster-name $MY_AKS_CLUSTER \
--os-type Windows \
--name npwin \
--node-count 1
Azure Kubernetes Service