Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans Azure Kubernetes Service (AKS), les nœuds de la même configuration sont regroupés en pools nodes. Les pools de nœuds contiennent les machines virtuelles sous-jacentes qui exécutent vos applications. Les pools de nœuds système et les pools de nœuds utilisateur sont deux modes de pool de nœuds différents pour vos clusters AKS. Cet article montre comment gérer les pools de nœuds système dans AKS. Pour plus d’informations sur l’utilisation de plusieurs pools de nœuds, consultez créer des pools de nœuds.
-
Pools de nœuds système : l’objectif principal est d’héberger des pods système critiques tels que
CoreDNSetmetrics-server. Les pools de nœuds système ne doivent pas être utilisés pour exécuter votre application. Les pools de nœuds système utilisent Ubuntu Linux ou Azure Linux. - Pools de nœuds utilisateur : l’objectif principal est d’héberger vos pods d’application et d’isoler les applications du pool de nœuds système. Cette isolation empêche une application d’entraîner une instabilité avec le pool de nœuds système de votre cluster. Les pools de nœuds utilisateur peuvent utiliser Ubuntu Linux, Azure Linux ou Windows.
Un cluster AKS de production avec un pool de nœuds système unique doit contenir au moins deux nœuds. La recommandation pour un cluster AKS de production avec un pool de nœuds système unique consiste à avoir au moins trois nœuds pour améliorer la tolérance de panne et les zones de disponibilité. Par exemple, le nombre de nœuds par défaut de la commande az aks create est de trois et crée un cluster avec un seul pool de nœuds système Linux et trois nœuds Linux.
Il est possible, mais pas recommandé, de planifier des pods d’application sur un pool de nœuds système si vous n’avez qu’un seul pool de nœuds dans votre cluster AKS. Une meilleure solution consiste à créer un pool de nœuds utilisateur pour votre application.
Avant de commencer
Vous avez besoin de la Azure CLI version 2.3.1 ou ultérieure installée et configurée. Pour connaître la version de l’interface, exécutez la commande az --version. Si vous devez installer ou mettre à niveau, consultez Installer Azure CLI.
Vous avez besoin de la Azure PowerShell version 7.5.0 ou ultérieure installée et configurée. Pour connaître la version de l’interface, exécutez la commande Get-InstalledModule -Name Az. Si vous devez installer ou mettre à niveau, consultez Installer Azure PowerShell.
Avant de commencer, vérifiez que les conditions préalables suivantes sont remplies :
- Un abonnement Azure actif.
- Terraform installé localement.
- Azure CLI installé et connecté.
- Autorisations pour créer et gérer des ressources AKS.
Définissez votre abonnement :
az account set --subscription <subscription-id>
Limites
Les limitations suivantes s’appliquent lorsque vous créez et gérez les clusters AKS prenant en charge les pools de nœuds système.
- Consultez Quotas, restrictions sur la taille de machine virtuelle et disponibilité des régions dans AKS.
- Une version d’API de version
2020-03-01ou supérieure doit être utilisée pour définir un mode de pool de nœuds. Les clusters créés sur les versions d'API antérieures à2020-03-01ne contiennent que des pools de nœuds utilisateur, mais peuvent être migrés pour inclure des pools de nœuds système en suivant les étapes de mise à jour du mode de pool. - Le nom d’un pool de nœuds ne peut contenir que des caractères alphanumériques minuscules et doit commencer par une lettre minuscule. Pour les pools de nœuds Linux, la longueur doit être comprise entre 1 et 12 caractères. Pour les pools de nœuds Windows, la longueur doit être de un à six caractères.
- Le mode d’un pool de nœuds est une propriété obligatoire qui doit être définie explicitement si vous utilisez des modèles ARM ou des appels d’API directs.
Pools de nœuds système et utilisateur
Pour un pool de nœuds système, AKS affecte automatiquement l’étiquette kubernetes.azure.com/mode: system à ses nœuds. C’est pourquoi AKS préfère planifier des pods du système sur les pools de nœuds qui portent cette étiquette. Cette étiquette ne vous empêche pas de planifier des pods d’application sur des pools de nœuds système. Mais nous vous recommandons d’isoler les pods système critiques de vos pods d’application pour empêcher les pods d’application mal configurés ou non configurés de supprimer accidentellement des pods système.
Vous pouvez appliquer ce comportement en créant un pool de nœuds système dédié. Utilisez la teinte CriticalAddonsOnly=true:NoSchedule pour empêcher la planification de pods d’application sur les pools de nœuds système.
Les pools de nœuds système présentent les restrictions suivantes :
- Les pools de nœuds système doivent prendre en charge au moins 30 pods, comme le décrit la formule des valeurs minimale et maximale pour les pods.
- Les pools du système
osTypedoivent être sous Linux. - Les pools de nœuds utilisateur
osTypepeuvent être Linux ou Windows. - Les pools système doivent contenir au moins deux nœuds, mais la recommandation est de trois nœuds. Les pools de nœuds utilisateur peuvent contenir zéro ou plusieurs nœuds.
- Les pools de nœuds système nécessitent une référence SKU de machine virtuelle d’au moins 4 processeurs virtuels et 4 Go de mémoire.
- Les machines virtuelles de série B ne sont pas prises en charge pour les pools de nœuds système.
- Un minimum de trois nœuds à 8 processeurs virtuels ou deux nœuds à au moins 16 processeurs virtuels est recommandé (par exemple, Standard_DS4_v2), en particulier pour les clusters de grande taille (plusieurs réplicas de pod CoreDNS, 3 à 4 modules complémentaires, etc.).
- Les pools de nœuds Spot nécessitent des pools de nœuds utilisateur.
- L'ajout d'un autre pool de nœuds système ou la modification du pool de nœuds qui est un pool de nœuds système ne déplace pas automatiquement les pods système. Les pods système peuvent continuer à s’exécuter sur le même pool de nœuds, même si vous le transformez en pool de nœuds utilisateur. Si vous supprimez ou réduisez la taille d’un pool de nœuds exécutant des pods système qui correspondaient à un pool de nœuds système, ces pods système sont redéployés avec la planification préférée vers le nouveau pool de nœuds système.
Vous pouvez effectuer les opérations suivantes avec des pools de nœuds :
- Créer un pool de nœuds système dédié (préférer la planification de pods système aux pools de nœuds de
mode:system) - Modifiez un pool de nœuds système en pool de nœuds utilisateur, à condition de disposer d’un autre pool de nœuds système pour prendre sa place dans le cluster AKS.
- Modifiez un pool de nœuds utilisateur en pool de nœuds système.
- Supprimez les pools de nœuds utilisateur.
- Vous pouvez supprimer un pool de nœuds système à condition de disposer d’un autre pool de nœuds système pour prendre sa place dans le cluster AKS.
- Un cluster AKS peut avoir plusieurs pools de nœuds système et nécessite au moins un pool de nœuds système.
- Si vous souhaitez modifier différents paramètres immuables sur des pools de nœuds existants, vous pouvez créer de nouveaux pools de nœuds pour les remplacer. Un exemple consiste à ajouter un nouveau pool de nœuds avec un nouveau
maxPodsparamètre et à supprimer l’ancien pool de nœuds. - Utiliser l’affinité de nœud pour exiger ou préférer les nœuds pouvant être planifiés en fonction des étiquettes de nœud. Vous pouvez définir
keysurkubernetes.azure.com,operatorsurInetvaluessuruserousystemdans votre code YAML et appliquer cette définition aveckubectl apply -f yourYAML.yaml.
Créer un cluster AKS avec un pool de nœuds système
Lorsque vous créez un cluster AKS, le pool de nœuds initial est défini par défaut sur un mode de type System. Lorsque vous créez des pools de nœuds avec az aks nodepool add, ces pools de nœuds sont des pools de nœuds utilisateur, sauf si vous spécifiez explicitement le paramètre mode.
Créez des variables pour le groupe de ressources, le nom du cluster et l’emplacement des commandes utilisées dans cet article. Cet article spécifie des valeurs ou vous pouvez utiliser vos propres valeurs.
export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myAKSCluster"
export LOCATION="eastus"
export NEW_SYSTEM_NP="systempool"
export NEW_NODE_POOL="mynodepool"
L'exemple suivant crée un groupe de ressources nommé myResourceGroup dans la région eastus.
az group create --name $RESOURCE_GROUP --location $LOCATION
Utilisez la commande az aks create pour créer un cluster AKS. L’exemple suivant crée un cluster nommé myAKSCluster avec un pool système dédié contenant deux nœuds. Pour vos charges de travail de production, assurez-vous d’utiliser des pools de nœuds système avec au moins trois nœuds. Cette opération prend plusieurs minutes.
az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-count 2 --generate-ssh-keys
Lorsque vous créez un cluster AKS, le pool de nœuds initial est défini par défaut sur un mode de type system. Lorsque vous créez de nouveaux pools de nœuds avec New-AzAksNodePool, ces pools de nœuds sont des pools de nœuds utilisateur. Le mode d’un pool de nœuds peut être mis à jour à tout moment.
Créez des variables pour le groupe de ressources, le nom du cluster et l’emplacement des commandes utilisées dans cet article. Cet article spécifie des valeurs ou vous pouvez utiliser vos propres valeurs.
$ResourceGroup="myResourceGroup"
$ClusterName="myAKSCluster"
$Location="eastus"
$NewSystemNP="systempool"
$NewNodePool="mynodepool"
L'exemple suivant crée un groupe de ressources nommé myResourceGroup dans la région eastus.
New-AzResourceGroup -ResourceGroupName $ResourceGroup -Location $Location
Utilisez l’applet de commande New-AzAksCluster pour créer un cluster AKS. L’exemple suivant crée un cluster nommé myAKSCluster avec un pool système dédié contenant deux nœuds. Pour vos charges de travail de production, assurez-vous d’utiliser des pools de nœuds système avec au moins trois nœuds. L’opération prend plusieurs minutes.
New-AzAksCluster -ResourceGroupName $ResourceGroup -Name $ClusterName -NodeCount 2 -GenerateSshKey
Utilisez la configuration Terraform suivante pour créer un cluster AKS avec un pool de nœuds système.
Créer le fichier de configuration Terraform
Créez un fichier nommé main.tfet ajoutez la configuration partagée suivante :
terraform {
required_version = ">= 1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 4.0"
}
}
}
provider "azurerm" {
features {}
}
Créer un groupe de ressources
Ajoutez la configuration de groupe de ressources suivante :
resource "azurerm_resource_group" "rg" {
name = "aks-system-pool-rg"
location = "East US"
}
Un groupe de ressources est utilisé pour organiser et gérer des ressources Azure.
Créer un cluster AKS
Ajoutez la configuration suivante pour créer un cluster AKS. Le pool de nœuds initial est créé en tant que pool de nœuds système et est requis pour l’opération de 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"
}
}
Ajouter un pool de nœuds système dédié à un cluster AKS existant
Vous pouvez ajouter un ou plusieurs pools de nœuds système à des clusters AKS existants. Il est recommandé de planifier vos pods d’application sur les pools de nœuds utilisateur et de dédier des pools de nœuds système uniquement à des pods système critiques. Cette séparation empêche les pods d’application non autorisés de supprimer accidentellement des pods système. Appliquez ce comportement avec le CriticalAddonsOnly=true:NoScheduletaint pour vos pools de nœuds système.
La commande suivante ajoute un pool de nœuds dédié de mode System avec trois nœuds. La az aks nodepool add commande ajoute trois nœuds par défaut, mais vous utilisez le --node-count paramètre pour spécifier le nombre de nœuds souhaités.
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
Vous pouvez ajouter un ou plusieurs pools de nœuds système à des clusters AKS existants. Il est recommandé de planifier vos pods d’application sur les pools de nœuds utilisateur et de dédier des pools de nœuds système uniquement à des pods système critiques. L’ajout de pools de nœuds système empêche les pods d’application malveillants de tuer accidentellement des pods système. Appliquez le comportement avec la CriticalAddonsOnly=true:NoSchedule pour vos pools de nœuds système.
La commande suivante ajoute un pool de nœuds dédié de mode System avec trois nœuds.
$systempoolparams = @{
ResourceGroupName = $ResourceGroup
ClusterName = $ClusterName
Name = $NewSystemNP
Count = 3
Mode = 'System'
NodeTaint = 'CriticalAddonsOnly=true:NoSchedule'
}
New-AzAksNodePool @systempoolparams
Ajoutez un deuxième pool de nœuds configuré en tant que pool de nœuds système pour isoler les charges de travail système critiques.
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"
]
}
Cette configuration applique le taint CriticalAddonsOnly=true:NoSchedule afin que les charges de travail de l'application ne soient pas programmées sur le pool de nœuds système dédié.
Ajouter un pool de nœuds utilisateur
Pour séparer les charges de travail d’application des composants système, ajoutez un pool de nœuds utilisateur.
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
}
Les pools de nœuds utilisateur fournissent un environnement dédié pour les pods d’application.
Vérification finale avant le déploiement
Vous main.tf devrait inclure les éléments suivants :
- Configuration de Terraform et de fournisseur
- groupe de ressources
- Cluster AKS avec le pool de nœuds système par défaut
- Pool de nœuds système dédié
- Pool de nœuds utilisateur facultatif, si nécessaire
Une configuration terminée ressemble à l’exemple suivant :
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
}
Valider la configuration
Exécutez les commandes suivantes pour mettre en forme, initialiser et valider la configuration :
terraform fmt
terraform init
terraform validate
Passer en revue le plan d’exécution
Exécutez la commande suivante pour passer en revue le plan d’exécution avant le déploiement :
terraform plan
Appliquer la configuration
Exécutez la commande suivante pour créer le cluster AKS et les pools de nœuds :
terraform apply
Vérifier le déploiement
Vérifiez la configuration du pool de nœuds système dédié :
az aks nodepool show \
--resource-group aks-system-pool-rg \
--cluster-name aks-system-pool-cluster \
--name systempool
Vérifiez la sortie et confirmez que le pool de nœuds est configuré avec mode défini sur System.
Connectez-vous au cluster et listez les nœuds.
az aks get-credentials \
--resource-group aks-system-pool-rg \
--name aks-system-pool-cluster
kubectl get nodes
Afficher les détails de votre pool de nœuds
Vous pouvez vérifier les détails de votre pool de nœuds à l’aide de la commande suivante.
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}"
Un mode de type Système est défini pour les pools de nœuds système, et un mode de type Utilisateur est défini pour les pools de nœuds utilisateur. Pour un pool système, vérifiez que la propriété nodeTaints est définie sur CriticalAddonsOnly=true:NoSchedule, ce qui empêche les pods de l'application d’être programmés sur ce pool de nœuds.
{
"Count": 3,
"Mode": "System",
"NodePool": "systempool",
"NodeTaint": [
"CriticalAddonsOnly=true:NoSchedule"
],
"ResourceGroup": "myResourceGroup"
}
Vous pouvez vérifier les détails de votre pool de nœuds à l’aide de la commande suivante.
Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName -Name $NewSystemNP |
Select-Object -Property Count, Mode, Name, NodeTaints
Un mode de type Système est défini pour les pools de nœuds système, et un mode de type Utilisateur est défini pour les pools de nœuds utilisateur. Pour un pool système, vérifiez que le 'taint' est défini sur CriticalAddonsOnly=true:NoSchedule, ce qui empêche les pods de l'application d'être planifiés sur ce pool de nœuds.
Count Mode Name NodeTaints
----- ---- ---- ----------
3 System systempool {CriticalAddonsOnly=true:NoSchedule}
Cette étape a été incluse dans l’étape De vérification du déploiement de la section précédente.
Un mode de type Système est défini pour les pools de nœuds système, et un mode de type Utilisateur est défini pour les pools de nœuds utilisateur. Pour un pool système, vérifiez que la propriété nodeTaints est définie sur CriticalAddonsOnly=true:NoSchedule, ce qui empêche les pods de l'application d’être programmés sur ce pool de nœuds.
Mettre à jour les pools de nœuds utilisateur et système existants dans un cluster
Note
Une version d'API 2020-03-01 ou supérieure doit être utilisée pour définir un mode de pool de nœuds système. Les clusters créés sur les versions d’API antérieures à 2020-03-01 ne contiennent que des pools de nœuds utilisateur. Pour recevoir les fonctionnalités et avantages du pool de nœuds système sur les clusters plus anciens, mettez à jour le mode des pools de nœuds existants avec les commandes suivantes sur la dernière version de Azure CLI.
Vous pouvez modifier les modes pour les pools de nœuds système et les pools de nœuds utilisateur. Vous pouvez modifier un pool de nœuds système en pool de nœuds utilisateur uniquement si un autre pool de nœuds système existe déjà sur le cluster AKS.
Exécutez cette commande pour créer un pool de nœuds en mode système.
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL \
--node-count 3 \
--mode System
Vous pouvez vérifier le mode avec la commande suivante.
az aks nodepool show \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL \
--query mode --output tsv
System
Exécutez cette commande pour modifier un pool de nœuds système en pool de nœuds utilisateur.
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL \
--mode User
Vous pouvez vérifier que le mode a changé avec la commande suivante.
az aks nodepool show \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL \
--query mode --output tsv
User
Note
Une version d'API 2020-03-01 ou supérieure doit être utilisée pour définir un mode de pool de nœuds système. Les clusters créés sur les versions d’API antérieures à 2020-03-01 ne contiennent que des pools de nœuds utilisateur. Pour recevoir les fonctionnalités et avantages du pool de nœuds système sur les clusters plus anciens, mettez à jour le mode des pools de nœuds existants avec les commandes suivantes sur la dernière version Azure PowerShell.
Vous pouvez modifier les modes pour les pools de nœuds système et les pools de nœuds utilisateur. Vous pouvez modifier un pool de nœuds système en pool de nœuds utilisateur uniquement si un autre pool de nœuds système existe déjà sur le cluster AKS.
Exécutez cette commande pour créer un pool de nœuds en mode système.
$newpoolparams = @{
ResourceGroupName = $ResourceGroup
ClusterName = $ClusterName
Name = $NewNodePool
Count = 3
Mode = 'System'
}
New-AzAksNodePool @newpoolparams
Vous pouvez vérifier le mode avec la commande suivante.
Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName -Name $NewNodePool |
Select-Object -Property Mode
Mode
----
System
Exécutez cette commande pour modifier un pool de nœuds système en pool de nœuds utilisateur.
$updateuserpoolparams = @{
ResourceGroupName = $ResourceGroup
ClusterName = $ClusterName
Name = $NewNodePool
Mode = 'User'
}
Update-AzAksNodePool @updateuserpoolparams
Vous pouvez vérifier le mode avec la commande suivante.
Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName -Name $NewNodePool |
Select-Object -Property Mode
Mode
----
User
Pour modifier le mode d’un pool de nœuds existant, mettez à jour la mode valeur dans la configuration Terraform et réappliquez le déploiement.
Par exemple, la configuration suivante modifie le user_pool pool de nœuds en pool de nœuds système :
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
}
Après avoir mis à jour la configuration, exécutez :
terraform plan
terraform apply
Pour modifier le pool de nœuds système dédié en pool de nœuds utilisateur, mettez à jour la valeur de mode à User pour system_pool, puis réappliquez la configuration.
Supprimer un pool de nœuds système
Note
Pour utiliser des pools de nœuds système sur des clusters AKS avant la version 2020-03-01de l’API, ajoutez un nouveau pool de nœuds système, puis supprimez le pool de nœuds par défaut d’origine.
Vous devez disposer d’au moins deux pools de nœuds système sur votre cluster AKS pour pouvoir en supprimer un.
az aks nodepool delete \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NEW_NODE_POOL
Après avoir supprimé le pool de nœuds système, vous devez disposer du pool de nœuds système d’origine créé avec le cluster et du pool de nœuds système que vous avez créé dans la section ajouter un pool de nœuds système dédié à un cluster AKS existant.
az aks nodepool list \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--query "[].{Name:name, Mode:mode}" --output table
Note
Pour utiliser des pools de nœuds système sur des clusters AKS avant la version 2020-03-01de l’API, ajoutez un nouveau pool de nœuds système, puis supprimez le pool de nœuds par défaut d’origine.
Vous devez disposer d’au moins deux pools de nœuds système sur votre cluster AKS pour pouvoir en supprimer un.
La commande suivante vous invite à confirmer la suppression du pool de nœuds. Tapez Y pour confirmer.
Remove-AzAksNodePool $ResourceGroup -ClusterName $ClusterName -Name $NewNodePool
Après avoir supprimé le pool de nœuds système, vous devez disposer du pool de nœuds système d’origine créé avec le cluster et du pool de nœuds système que vous avez créé dans la section ajouter un pool de nœuds système dédié à un cluster AKS existant.
Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName
Un cluster doit toujours contenir au moins un pool de nœuds système. Si le cluster possède plusieurs pools de nœuds système, vous pouvez en supprimer un en supprimant son bloc de ressources de la configuration Terraform et en appliquant la modification.
Par exemple, supprimez le system_pool bloc de ressources, puis exécutez :
terraform plan
terraform apply
Nettoyer les ressources
Lorsque vous supprimez le groupe de ressources du cluster AKS, toutes les ressources de cluster et le groupe de ressources de nœud associé (MC_) sont supprimées.
Pour supprimer le cluster, utilisez la commande az group delete pour supprimer le groupe de ressources AKS :
az group delete --name $RESOURCE_GROUP --yes --no-wait
Pour supprimer le cluster, utilisez la commande Remove-AzResourceGroup pour supprimer le groupe de ressources AKS :
Remove-AzResourceGroup -Name $ResourceGroup -Force
Lorsque vous avez terminé, supprimez les ressources :
terraform destroy
Étapes suivantes
Dans cet article, vous avez appris comment créer et gérer des pools de nœuds système dans un cluster AKS. Pour plus d’informations sur le démarrage et l’arrêt des pools de nœuds AKS, voir Démarrer et arrêter des pools de nœuds AKS.