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.
In Servizio Azure Kubernetes (AKS) i nodi della stessa configurazione vengono raggruppati in pool node. I pool di nodi contengono le macchine virtuali sottostanti che eseguono le applicazioni. I pool di nodi di sistema e i pool di nodi utente sono due diverse modalità di pool di nodi per i cluster del servizio Azure Kubernetes. Questo articolo spiega come gestire i pool di nodi di sistema in AKS. Per informazioni su come usare più pool di nodi, vedere Creare pool di nodi.
-
Pool di nodi di sistema: lo scopo principale è ospitare pod di sistema critici come
CoreDNSemetrics-server. I pool di nodi di sistema non devono essere usati per eseguire l'applicazione. I pool di nodi di sistema usano Ubuntu Linux o Azure Linux. - Pool di nodi utente: lo scopo principale è ospitare i pod dell'applicazione e isolare le applicazioni dal pool di nodi di sistema. Questo isolamento impedisce a un'applicazione di causare instabilità con il pool di nodi di sistema del cluster. I pool di nodi utente possono usare Ubuntu Linux, Azure Linux o Windows.
Un cluster di produzione AKS con un singolo pool di nodi di sistema deve contenere almeno due nodi. La raccomandazione per un cluster del servizio Azure Kubernetes di produzione con un singolo pool di nodi di sistema prevede almeno tre nodi per migliorare la tolleranza di errore e le zone di disponibilità. Ad esempio, il numero di nodi predefinito del comando az aks create è tre e crea un nuovo cluster con un singolo pool di nodi di sistema Linux e tre nodi Linux.
È possibile, ma non consigliabile, pianificare i pod dell'applicazione in un pool di nodi di sistema se nel tuo cluster AKS è presente un solo pool di nodi. Una soluzione migliore consiste nel creare un pool di nodi utente per l'applicazione.
Operazioni preliminari
È necessaria la interfaccia della riga di comando di Azure versione 2.3.1 o successiva installata e configurata. Per trovare la versione, eseguire il comando az --version. Se è necessario installare o aggiornare, vedere Installare interfaccia della riga di comando di Azure.
È necessaria la Azure PowerShell versione 7.5.0 o successiva installata e configurata. Per trovare la versione, eseguire il comando Get-InstalledModule -Name Az. Se è necessario installare o aggiornare, vedere Installare Azure PowerShell.
Prima di iniziare, verificare di aver soddisfatto i prerequisiti seguenti:
- Una sottoscrizione di Azure attiva.
- Terraform installato localmente.
- CLI di Azure installata ed è stato effettuato l'accesso.
- Autorizzazioni per creare e gestire le risorse AKS.
Impostare la sottoscrizione:
az account set --subscription <subscription-id>
Limiti
Quando si creano e si gestiscono cluster AKS che supportano pool di nodi di sistema, si applicano le limitazioni seguenti:
- Consulta Quote, restrizioni relative alle dimensioni delle macchine virtuali e disponibilità delle regioni in AKS.
- Per impostare una modalità pool di nodi, è necessario usare una versione API di
2020-03-01o versione successiva. I cluster creati nelle versioni dell'API precedenti a2020-03-01contengono solo pool di nodi utente, ma possono essere migrati per contenere pool di nodi di sistema seguendo i passaggi della modalità di aggiornamento del pool. - Il nome di un pool di nodi può contenere solo caratteri alfanumerici minuscoli e deve iniziare con una lettera minuscola. Per i pool di nodi Linux, la lunghezza deve essere compresa tra 1 e 12 caratteri. Per i pool di nodi Windows, la lunghezza deve essere tra uno e sei caratteri.
- La modalità di un pool di nodi è una proprietà obbligatoria e deve essere impostata in modo esplicito quando si usano modelli di Azure Resource Manager o chiamate API dirette.
Pool di nodi utente e di sistema
Per un pool di nodi di sistema, AKS assegna automaticamente l'etichetta kubernetes.azure.com/mode: system ai relativi nodi. In questo modo, AKS preferisce allocare i pod di sistema nei pool di nodi che contengono questa etichetta. Questa etichetta non impedisce di pianificare i pod dell'applicazione nei pool di nodi di sistema. È tuttavia consigliabile isolare i pod di sistema critici dai pod dell'applicazione per evitare che i pod dell'applicazione non configurati correttamente o non autorizzati eliminino accidentalmente i pod di sistema.
È possibile applicare questo comportamento creando un pool di nodi di sistema dedicato. Usare il taint CriticalAddonsOnly=true:NoSchedule per impedire che i pod dell'applicazione vengano schedulati nei pool di nodi di sistema.
I pool di nodi di sistema hanno le restrizioni seguenti:
- I pool di nodi di sistema devono supportare almeno 30 pod come descritto dalla formula di valore minimo e massimo per i pod.
- I pool
osTypedi sistema devono essere Linux. - I pool di nodi utente
osTypepossono essere Linux o Windows. - I pool di sistema devono contenere almeno due nodi, ma la raccomandazione è di tre nodi. I pool di nodi utente possono contenere zero o più nodi.
- I pool di nodi di sistema richiedono uno SKU di vm di almeno 4 vCPU e 4 GB di memoria.
- Le macchine virtuali serie B non sono supportate per i pool di nodi di sistema.
- È consigliabile prevedere almeno tre nodi di 8 vCPU o due nodi di almeno 16 vCPU (ad esempio, Standard_DS4_v2), soprattutto per cluster di grandi dimensioni (repliche multiple del pod coreDNS, componenti aggiuntivi 3-4+ e così via).
- I pool di nodi spot richiedono i pool di nodi degli utenti.
- L'aggiunta di un altro pool di nodi di sistema o la modifica di quale pool di nodi è un pool di nodi di sistema non sposta automaticamente i pod di sistema. I pod di sistema possono continuare a essere eseguiti nello stesso pool di nodi, anche se lo si modifica in un pool di nodi utente. Se si elimina o si ridimensiona un pool di nodi che esegue pod di sistema che in precedenza erano un pool di nodi di sistema, questi pod di sistema vengono distribuiti nuovamente con una pianificazione preferenziale nel nuovo pool di nodi di sistema.
È possibile eseguire le operazioni seguenti con i pool di nodi:
- Creare un pool di nodi di sistema dedicato (è preferibile pianificare i pod di sistema nei pool di nodi di
mode:system) - Modificare un pool di nodi di sistema in modo che sia un pool di nodi utente, purché vi sia un altro pool di nodi di sistema che possa sostituirlo nel cluster del servizio Azure Kubernetes.
- Modificare un pool di nodi utente in modo che sia un pool di nodi di sistema.
- Eliminare i pool di nodi utente.
- È possibile eliminare i pool di nodi di sistema, purché nel cluster AKS sia presente un altro pool di nodi di sistema.
- Un cluster AKS può contenere più pool di nodi di sistema e richiede almeno un pool di nodi di sistema.
- Se si desidera modificare varie impostazioni non modificabili nei pool di nodi esistenti, è possibile creare nuovi pool di nodi per sostituirli. Un esempio consiste nell'aggiungere un nuovo pool di nodi con una nuova
maxPodsimpostazione ed eliminare il pool di nodi precedente. - Usare l'affinità dei nodi per richiedere o stabilire quali nodi pianificare in base alle etichette dei nodi. È possibile impostare da
keyakubernetes.azure.com, daoperatoraInevaluesdiuserosystemsu YAML, applicando questa definizione usandokubectl apply -f yourYAML.yaml.
Creare un nuovo cluster AKS con un pool di nodi di sistema
Quando si crea un nuovo cluster del servizio Azure Kubernetes, per impostazione predefinita il pool di nodi iniziale viene impostato su una modalità di tipo System. Quando si creano nuovi pool di nodi con az aks nodepool add, tali pool di nodi sono pool di nodi utente, a meno che non si specifichi esplicitamente il parametro modalità.
Creare variabili per il gruppo di risorse, il nome del cluster e la posizione per i comandi usati in questo articolo. Questo articolo specifica i valori oppure è possibile usare valori personalizzati.
export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myAKSCluster"
export LOCATION="eastus"
export NEW_SYSTEM_NP="systempool"
export NEW_NODE_POOL="mynodepool"
L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nell'area eastus.
az group create --name $RESOURCE_GROUP --location $LOCATION
Usare il comando az aks create per creare un cluster del servizio Azure Kubernetes. L'esempio seguente crea un cluster denominato myAKSCluster con un pool di sistema dedicato contenente due nodi. Per i carichi di lavoro di produzione, assicurarsi di usare pool di nodi di sistema con almeno tre nodi. Il completamento di questa operazione richiede alcuni minuti.
az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-count 2 --generate-ssh-keys
Quando si crea un nuovo cluster del servizio Azure Kubernetes, per impostazione predefinita il pool di nodi iniziale viene impostato su una modalità di tipo system. Quando si creano nuovi pool di nodi con New-AzAksNodePool, si stanno creando pool di nodi utente. La modalità di un pool di nodi può essere aggiornata in qualsiasi momento.
Creare variabili per il gruppo di risorse, il nome del cluster e la posizione per i comandi usati in questo articolo. Questo articolo specifica i valori oppure è possibile usare valori personalizzati.
$ResourceGroup="myResourceGroup"
$ClusterName="myAKSCluster"
$Location="eastus"
$NewSystemNP="systempool"
$NewNodePool="mynodepool"
L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nell'area eastus.
New-AzResourceGroup -ResourceGroupName $ResourceGroup -Location $Location
Usare il cmdlet New-AzAksCluster per creare un cluster AKS. L'esempio seguente crea un cluster denominato myAKSCluster con un pool di sistema dedicato contenente due nodi. Per i carichi di lavoro di produzione, assicurarsi di usare pool di nodi di sistema con almeno tre nodi. Il completamento dell'operazione richiede alcuni minuti.
New-AzAksCluster -ResourceGroupName $ResourceGroup -Name $ClusterName -NodeCount 2 -GenerateSshKey
Usare la seguente configurazione di Terraform per creare un cluster AKS con un pool di nodi di sistema.
Creare il file di configurazione terraform
Creare un file denominato main.tfe aggiungere la configurazione condivisa seguente:
terraform {
required_version = ">= 1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 4.0"
}
}
}
provider "azurerm" {
features {}
}
Creare un gruppo di risorse
Aggiungere la configurazione del gruppo di risorse seguente:
resource "azurerm_resource_group" "rg" {
name = "aks-system-pool-rg"
location = "East US"
}
Un gruppo di risorse viene usato per organizzare e gestire le risorse Azure.
Creare un nuovo cluster AKS
Aggiungere la seguente configurazione per creare un cluster di AKS. Il pool di nodi iniziale viene creato come pool di nodi di sistema ed è necessario per l'operazione del cluster.
resource "azurerm_kubernetes_cluster" "aks" {
name = "aks-system-pool-cluster"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
dns_prefix = "akssystempool"
default_node_pool {
name = "systemnp"
vm_size = "Standard_D4s_v5"
node_count = 2
min_count = 2
max_count = 3
max_pods = 30
enable_auto_scaling = true
}
identity {
type = "SystemAssigned"
}
network_profile {
network_plugin = "azure"
load_balancer_sku = "standard"
}
}
Aggiungere un pool di nodi di sistema dedicato a un cluster AKS esistente
È possibile aggiungere uno o più pool di nodi di sistema ai cluster AKS esistenti. È consigliabile pianificare i pod dell'applicazione nei pool di nodi utente e dedicare i pool di nodi di sistema solo ai pod di sistema critici. Questa separazione impedisce ai pod dell'applicazione non autorizzati di eliminare per errore i pod del sistema. Applicare questo comportamento con il CriticalAddonsOnly=true:NoScheduletaint per i pool di nodi di sistema.
Il comando seguente aggiunge un pool di nodi dedicato del tipo modalità System con tre nodi. Il az aks nodepool add comando aggiunge tre nodi per impostazione predefinita, ma si usa il --node-count parametro per specificare il numero di nodi desiderati.
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_SYSTEM_NP \
--node-count 3 \
--node-taints CriticalAddonsOnly=true:NoSchedule \
--mode System
È possibile aggiungere uno o più pool di nodi di sistema ai cluster AKS esistenti. È consigliabile pianificare i pod dell'applicazione nei pool di nodi utente e dedicare i pool di nodi di sistema solo ai pod di sistema critici. L'aggiunta di più pool di nodi di sistema impedisce ai pod applicativi malevoli di eliminare accidentalmente i pod di sistema. Applicare questo comportamento con il CriticalAddonsOnly=true:NoScheduletaint per i pool di nodi di sistema.
Il comando seguente aggiunge un pool di nodi dedicato del tipo modalità System con tre nodi.
$systempoolparams = @{
ResourceGroupName = $ResourceGroup
ClusterName = $ClusterName
Name = $NewSystemNP
Count = 3
Mode = 'System'
NodeTaint = 'CriticalAddonsOnly=true:NoSchedule'
}
New-AzAksNodePool @systempoolparams
Aggiungere un secondo pool di nodi configurato come pool di nodi di sistema per isolare i carichi di lavoro critici del sistema.
resource "azurerm_kubernetes_cluster_node_pool" "system_pool" {
name = "systempool"
kubernetes_cluster_id = azurerm_kubernetes_cluster.aks.id
vm_size = "Standard_D4s_v5"
node_count = 3
mode = "System"
max_pods = 30
node_taints = [
"CriticalAddonsOnly=true:NoSchedule"
]
}
Questa configurazione applica il CriticalAddonsOnly=true:NoSchedule taint in modo che i carichi di lavoro dell'applicazione non siano pianificati nel pool di nodi di sistema dedicato.
Aggiungere un pool di nodi utente
Per separare i carichi di lavoro dell'applicazione dai componenti di sistema, aggiungere un pool di nodi utente.
resource "azurerm_kubernetes_cluster_node_pool" "user_pool" {
name = "userpool"
kubernetes_cluster_id = azurerm_kubernetes_cluster.aks.id
vm_size = "Standard_D4s_v5"
node_count = 2
mode = "User"
max_pods = 30
enable_auto_scaling = true
min_count = 2
max_count = 4
}
I pool di nodi utente forniscono un ambiente dedicato per i pod dell'applicazione.
Controllo finale prima della distribuzione
Il tuo elemento main.tf deve includere:
- Configurazione di Terraform e fornitori
- Gruppo di risorse
- Cluster AKS con il pool di nodi di sistema predefinito
- Pool di nodi di sistema dedicato
- Pool di nodi utente facoltativo, se necessario
Una configurazione completata è simile all'esempio seguente:
terraform {
required_version = ">= 1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 4.0"
}
}
}
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "rg" {
name = "aks-system-pool-rg"
location = "East US"
}
resource "azurerm_kubernetes_cluster" "aks" {
name = "aks-system-pool-cluster"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
dns_prefix = "akssystempool"
default_node_pool {
name = "systemnp"
vm_size = "Standard_D4s_v5"
node_count = 2
min_count = 2
max_count = 3
max_pods = 30
enable_auto_scaling = true
}
identity {
type = "SystemAssigned"
}
network_profile {
network_plugin = "azure"
load_balancer_sku = "standard"
}
}
resource "azurerm_kubernetes_cluster_node_pool" "system_pool" {
name = "systempool"
kubernetes_cluster_id = azurerm_kubernetes_cluster.aks.id
vm_size = "Standard_D4s_v5"
node_count = 3
mode = "System"
max_pods = 30
node_taints = [
"CriticalAddonsOnly=true:NoSchedule"
]
}
resource "azurerm_kubernetes_cluster_node_pool" "user_pool" {
name = "userpool"
kubernetes_cluster_id = azurerm_kubernetes_cluster.aks.id
vm_size = "Standard_D4s_v5"
node_count = 2
mode = "User"
max_pods = 30
enable_auto_scaling = true
min_count = 2
max_count = 4
}
Convalidare la configurazione
Eseguire i comandi seguenti per formattare, inizializzare e convalidare la configurazione:
terraform fmt
terraform init
terraform validate
Esaminare il piano di esecuzione
Eseguire il comando seguente per esaminare il piano di esecuzione prima della distribuzione:
terraform plan
Applicare la configurazione
Eseguire il comando seguente per creare il cluster e i pool di nodi di AKS (Azure Kubernetes Service):
terraform apply
Verificare la distribuzione
Controllare la configurazione del pool di nodi di sistema dedicato:
az aks nodepool show \
--resource-group aks-system-pool-rg \
--cluster-name aks-system-pool-cluster \
--name systempool
Esaminare l'output e verificare che il pool di nodi sia configurato con mode impostato su System.
Connettersi al cluster ed elencare i nodi:
az aks get-credentials \
--resource-group aks-system-pool-rg \
--name aks-system-pool-cluster
kubectl get nodes
Visualizzare i dettagli per il pool di nodi
È possibile controllare i dettagli del pool di nodi con il comando seguente.
az aks nodepool show \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_SYSTEM_NP \
--query "{Count:count, Mode:mode, NodePool:name, NodeTaint:nodeTaints, ResourceGroup:resourceGroup}"
Viene definita una modalità di tipo Sistema per i pool di nodi di sistema e una modalità di tipo Utente per i pool di nodi utente. Per il pool di sistema, verificare che la proprietà nodeTaints sia impostata su CriticalAddonsOnly=true:NoSchedule, così da impedire ai pod dell'applicazione di essere assegnati a questo pool di nodi.
{
"Count": 3,
"Mode": "System",
"NodePool": "systempool",
"NodeTaint": [
"CriticalAddonsOnly=true:NoSchedule"
],
"ResourceGroup": "myResourceGroup"
}
È possibile controllare i dettagli del pool di nodi con il comando seguente.
Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName -Name $NewSystemNP |
Select-Object -Property Count, Mode, Name, NodeTaints
Viene definita una modalità di tipo Sistema per i pool di nodi di sistema e una modalità di tipo Utente per i pool di nodi utente. Per il pool di sistema, verificare che il taint sia impostato su CriticalAddonsOnly=true:NoSchedule, così da impedire ai pod dell'applicazione di essere assegnati a questo pool di nodi.
Count Mode Name NodeTaints
----- ---- ---- ----------
3 System systempool {CriticalAddonsOnly=true:NoSchedule}
Questo passaggio è stato incluso nella sezione precedente Verificare il passaggio di distribuzione .
Viene definita una modalità di tipo Sistema per i pool di nodi di sistema e una modalità di tipo Utente per i pool di nodi utente. Per il pool di sistema, verificare che la proprietà nodeTaints sia impostata su CriticalAddonsOnly=true:NoSchedule, così da impedire ai pod dell'applicazione di essere assegnati a questo pool di nodi.
Aggiornare il sistema del cluster esistente e i pool di nodi utente
Nota
Per impostare una modalità pool di nodi di sistema, è necessario usare una versione API di 2020-03-01 o versione successiva. Di conseguenza, i cluster creati nelle versioni dell'API precedenti a 2020-03-01 contengono solo pool di nodi utente. Per ricevere funzionalità e vantaggi del pool di nodi di sistema nei cluster meno recenti, aggiornare la modalità dei pool di nodi esistenti con i comandi seguenti nella versione interfaccia della riga di comando di Azure più recente.
È possibile modificare le modalità sia per i pool di nodi di sistema che per i pool di nodi utente. È possibile modificare un pool di nodi di sistema in un pool di nodi utente solo se esiste già un altro pool di nodi di sistema nel cluster del servizio Azure Kubernetes.
Eseguire questo comando per creare un nuovo pool di nodi in modalità di sistema.
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL \
--node-count 3 \
--mode System
È possibile verificare la modalità con il comando seguente.
az aks nodepool show \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL \
--query mode --output tsv
System
Eseguire questo comando per modificare un pool di nodi di sistema in un pool di nodi utente.
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL \
--mode User
È possibile verificare la modalità modificata con il comando seguente.
az aks nodepool show \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL \
--query mode --output tsv
User
Nota
Per impostare una modalità pool di nodi di sistema, è necessario usare una versione API di 2020-03-01 o versione successiva. Di conseguenza, i cluster creati nelle versioni dell'API precedenti a 2020-03-01 contengono solo pool di nodi utente. Per ricevere funzionalità e vantaggi del pool di nodi di sistema nei cluster meno recenti, aggiornare la modalità dei pool di nodi esistenti con i comandi seguenti nella versione Azure PowerShell più recente.
È possibile modificare le modalità sia per i pool di nodi di sistema che per i pool di nodi utente. È possibile modificare un pool di nodi di sistema in un pool di nodi utente solo se esiste già un altro pool di nodi di sistema nel cluster del servizio Azure Kubernetes.
Eseguire questo comando per creare un nuovo pool di nodi in modalità di sistema.
$newpoolparams = @{
ResourceGroupName = $ResourceGroup
ClusterName = $ClusterName
Name = $NewNodePool
Count = 3
Mode = 'System'
}
New-AzAksNodePool @newpoolparams
È possibile verificare la modalità con il comando seguente.
Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName -Name $NewNodePool |
Select-Object -Property Mode
Mode
----
System
Eseguire questo comando per modificare un pool di nodi di sistema in un pool di nodi utente.
$updateuserpoolparams = @{
ResourceGroupName = $ResourceGroup
ClusterName = $ClusterName
Name = $NewNodePool
Mode = 'User'
}
Update-AzAksNodePool @updateuserpoolparams
È possibile verificare la modalità con il comando seguente.
Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName -Name $NewNodePool |
Select-Object -Property Mode
Mode
----
User
Per modificare la modalità di un pool di nodi esistente, aggiornare il valore mode nella configurazione di Terraform e applicare nuovamente la distribuzione.
Ad esempio, la configurazione seguente modifica il user_pool pool di nodi in un pool di nodi di sistema:
resource "azurerm_kubernetes_cluster_node_pool" "user_pool" {
name = "userpool"
kubernetes_cluster_id = azurerm_kubernetes_cluster.aks.id
vm_size = "Standard_D4s_v5"
node_count = 2
mode = "System"
max_pods = 30
enable_auto_scaling = true
min_count = 2
max_count = 4
}
Dopo aver aggiornato la configurazione, eseguire:
terraform plan
terraform apply
Per modificare il pool di nodi di sistema dedicato in un pool di nodi utente, aggiornare il valore mode per system_pool a User e riapplicare la configurazione.
Eliminare un pool di nodi di sistema
Nota
Per usare i pool di nodi di sistema nei cluster di Azure Kubernetes Service (AKS) prima della versione 2020-03-01 dell'API, aggiungere un nuovo pool di nodi di sistema, quindi eliminare il pool di nodi predefinito originale.
È necessario disporre di almeno due pool di nodi di sistema nel cluster del servizio Azure Kubernetes prima di poterli eliminare.
az aks nodepool delete \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL
Dopo aver eliminato il pool di nodi di sistema, è necessario avere il pool di nodi di sistema originale creato con il cluster e il pool di nodi di sistema creato nella sezione aggiungere un pool di nodi di sistema dedicato a un cluster del servizio Azure Kubernetes esistente.
az aks nodepool list \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--query "[].{Name:name, Mode:mode}" --output table
Nota
Per usare i pool di nodi di sistema nei cluster di Azure Kubernetes Service (AKS) prima della versione 2020-03-01 dell'API, aggiungere un nuovo pool di nodi di sistema, quindi eliminare il pool di nodi predefinito originale.
È necessario disporre di almeno due pool di nodi di sistema nel cluster del servizio Azure Kubernetes prima di poterli eliminare.
Il comando seguente richiede di confermare l'eliminazione del pool di nodi. Digitare Y per confermare.
Remove-AzAksNodePool $ResourceGroup -ClusterName $ClusterName -Name $NewNodePool
Dopo aver eliminato il pool di nodi di sistema, è necessario avere il pool di nodi di sistema originale creato con il cluster e il pool di nodi di sistema creato nella sezione aggiungere un pool di nodi di sistema dedicato a un cluster del servizio Azure Kubernetes esistente.
Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName
Un cluster deve contenere sempre almeno un pool di nodi di sistema. Se il cluster ha più di un pool di nodi di sistema, è possibile rimuoverlo eliminando il blocco di risorse dalla configurazione terraform e applicando la modifica.
Ad esempio, rimuovere il system_pool blocco di risorse e quindi eseguire:
terraform plan
terraform apply
Pulire le risorse
Quando si elimina il gruppo di risorse del cluster AKS (Azure Kubernetes Service), tutte le risorse del cluster e il gruppo di risorse correlato al nodo (MC_) vengono eliminate.
Per eliminare il cluster, usare il comando az group delete per eliminare il gruppo di risorse AKS.
az group delete --name $RESOURCE_GROUP --yes --no-wait
Per eliminare il cluster, utilizzare il comando Remove-AzResourceGroup per eliminare il gruppo di risorse AKS.
Remove-AzResourceGroup -Name $ResourceGroup -Force
Al termine, rimuovere le risorse:
terraform destroy
Passaggi successivi
In questo articolo hai imparato come creare e gestire pool di nodi di sistema in un cluster AKS. Per informazioni su come avviare e arrestare i pool di nodi del servizio Azure Kubernetes, vedere Avviare e arrestare i pool di nodi del servizio Azure Kubernetes.