Správa fondů systémových uzlů v Azure Kubernetes Service (AKS)

V Azure Kubernetes Service (AKS) jsou uzly stejné konfigurace seskupeny do uzlových fondů. Fondy uzlů obsahují základní virtuální počítače, na kterých běží vaše aplikace. Fondy systémových uzlů a fondy uzlů uživatelů jsou dva různé režimy fondu uzlů pro clustery AKS. Tento článek vysvětluje, jak spravovat fondy systémových uzlů v AKS. Informace o tom, jak používat více fondů uzlů, najdete v tématu vytvoření fondů uzlů.

  • Fondy systémových uzlů: Primárním účelem je hostovat kritické systémové pody jako CoreDNS a metrics-server. Fondy systémových uzlů by se neměly používat ke spuštění aplikace. Fondy systémových uzlů používají Ubuntu Linux nebo Azure Linux.
  • Fondy uzlů uživatele: Primárním účelem je zajišťovat hostování aplikačních podů a izolovat aplikace od fondu systémových uzlů. Tato izolace brání aplikaci v tom, aby způsobila nestabilitu ve fondu systémových uzlů vašeho clusteru. Fondy uzlů uživatelů můžou používat Ubuntu Linux, Azure Linux nebo Windows.

Produkční cluster AKS s jedním fondem systémových uzlů musí obsahovat alespoň dva uzly. Doporučení pro produkční cluster AKS s jedním fondem systémových uzlů je mít alespoň tři uzly pro lepší odolnost proti chybám a zvýšení dostupnosti. Výchozí počet uzlů příkazu az aks create je například tři a vytvoří nový cluster s jedním fondem uzlů systému Linux a třemi linuxovými uzly.

Je možné, ale nedoporučuje se plánovat pody aplikací ve fondu uzlů systému, pokud máte v clusteru AKS jenom jeden fond uzlů. Lepším řešením je vytvořit fond uzlů uživatele pro vaši aplikaci.

Než začnete

Potřebujete nainstalovanou a nakonfigurovanou verzi Azure CLI verze 2.3.1 nebo novější. Verzi najdete spuštěním az --version příkazu. Pokud potřebujete nainstalovat nebo upgradovat, přečtěte si téma Instalace Azure CLI.

Potřebujete nainstalovanou a nakonfigurovanou verzi Azure PowerShell 7.5.0 nebo novější. Verzi najdete spuštěním Get-InstalledModule -Name Az příkazu. Pokud potřebujete nainstalovat nebo upgradovat, přečtěte si téma Instalace Azure PowerShell.

Než začnete, ujistěte se, že máte následující požadavky:

  • Aktivní předplatné Azure.
  • Terraform je nainstalovaný místně.
  • Azure CLI nainstalované a přihlášené.
  • Oprávnění k vytváření a správě prostředků AKS

Nastavení předplatného:

az account set --subscription <subscription-id>

Omezení

Při vytváření a správě clusterů AKS, které podporují fondy systémových uzlů, platí následující omezení.

  • Viz Kvóty, omezení velikosti virtuálních počítačů a dostupnost oblastí v AKS.
  • K nastavení režimu fondu uzlů musí být použita verze 2020-03-01 rozhraní API nebo vyšší. Clustery vytvořené ve verzích rozhraní API starších než 2020-03-01 obsahují pouze fondy uzlů uživatele, ale je možné je migrovat tak, aby obsahovaly fondy systémových uzlů pomocí kroků režimu fondu aktualizací.
  • Název fondu uzlů může obsahovat pouze malá alfanumerická písmena a musí začínat malým písmenem. U fondů uzlů Linuxu musí být délka 1 až 12 znaků. U fondů uzlů Windows musí být délka mezi 1 a šesti znaky.
  • Režim fondu uzlů je požadovaná vlastnost a musí být explicitně nastavena při použití šablon ARM nebo přímých volání rozhraní API.

Pooly uzlů systému a uživatelů

V případě fondu systémových uzlů služba AKS automaticky přiřadí štítek kubernetes.azure.com/mode: system ke svým uzlům. To způsobí, že AKS preferuje plánování systémových podů v uzlových fondech, které obsahují tento popisek. Toto označení vám nebrání umisťovat aplikační pody ve fondech systémových uzlů. Doporučujeme ale izolovat důležité systémové pody od podů aplikací, abyste zabránili chybné konfiguraci nebo nežádoucím podům aplikací v nechtěném odstranění systémových podů.

Toto chování můžete vynutit vytvořením vyhrazeného fondu systémových uzlů. Pomocí taintu CriticalAddonsOnly=true:NoSchedule zabráníte tomu, aby byly pody aplikací naplánovány ve fondech systémových uzlů.

Půly systémového uzlu mají následující omezení:

  • Fondy systémových uzlů musí podporovat alespoň 30 podů, jak je popsáno ve vzorci minimální a maximální hodnoty pro pody.
  • Systémové fondy osType musí běžet na Linuxu.
  • Uživatelské pooly uzlů osType mohou být systémy Linux nebo Windows.
  • Systémové skupiny uzlů musí obsahovat alespoň dva uzly, ale doporučení je mít tři uzly. Pooly uzlů uživatele můžou obsahovat nula a více uzlů.
  • Fondy uzlů systému vyžadují typ VM s nejméně 4 virtuálními procesory a 4 GB paměti.
  • Virtuální počítače řady B nejsou podporovány pro fondy systémových uzlů.
  • Doporučuje se minimálně tři uzly s 8 virtuálními procesory nebo dva uzly nejméně 16 virtuálních procesorů (například Standard_DS4_v2), zejména pro velké clustery (repliky podů s více jádry, 3 až 4+ doplňky atd.).
  • Uživatelské uzlové fondy jsou požadovány pro uzlové fondy typu Spot.
  • Přidáním dalšího fondu uzlů nebo změnou toho, který fond uzlů je systémovým fondem uzlů, se systémové pody automaticky nepřesouvají. Systémové pody mohou nadále běžet ve stejném fondu uzlů, i když ho přeměníte na uživatelský fond uzlů. Pokud odstraníte nebo zmenšíte fond uzlů spouštějící systémové pody, které byly dříve součástí systémového fondu uzlů, jsou tyto systémové pody nasazeny s upřednostňovaným plánováním do nového systémového fondu uzlů.

S fondy uzlů můžete provádět následující operace:

  • Vytvořte vyhrazený fond systémových uzlů (upřednostněte plánování systémových podů ve fondech uzlů mode:system)
  • Změňte fond systémových uzlů na fond uzlů uživatele, pokud máte jiný fond systémových uzlů, který se má provést v clusteru AKS.
  • Změňte fond uživatelských uzlů na fond systémových uzlů.
  • Odstraňte uživatelské uzlové fondy.
  • Fondy systémových uzlů můžete odstranit za předpokladu, že máte jiný fond systémových uzlů, který se má provést v clusteru AKS.
  • Cluster AKS může mít více fondů systémových uzlů a vyžaduje alespoň jeden fond systémových uzlů.
  • Pokud chcete změnit různá neměnná nastavení u stávajících fondů uzlů, můžete vytvořit nové fondy uzlů, které je nahradí. Jedním z příkladů je přidání nového fondu uzlů s novým maxPods nastavením a odstranění starého fondu uzlů.
  • Spřažení uzlů použijte k vyžadování nebo preferování uzlů, které je možné naplánovat na základě popisků uzlů. Můžete nastavit key na kubernetes.azure.com, operator na In a values buď user nebo system ve vašem YAML, aplikovat tuto definici pomocí kubectl apply -f yourYAML.yaml.

Vytvoření nového clusteru AKS s fondem systémových uzlů

Při vytváření nového clusteru AKS se počáteční fond uzlů ve výchozím nastavení nastaví na režim typu System. Při vytváření nových fondů uzlů s az aks nodepool addtěmito fondy uzlů jsou fondy uzlů uživatele, pokud explicitně nezadáte parametr režimu.

Vytvořte proměnné pro skupinu prostředků, název clusteru a umístění pro příkazy použité v tomto článku. Tento článek určuje hodnoty nebo můžete použít vlastní hodnoty.

export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myAKSCluster"
export LOCATION="eastus"
export NEW_SYSTEM_NP="systempool"
export NEW_NODE_POOL="mynodepool"

Následující příklad vytvoří skupinu prostředků myResourceGroup v regionu eastus.

az group create --name $RESOURCE_GROUP --location $LOCATION

az aks create Pomocí příkazu vytvořte cluster AKS. Následující příklad vytvoří cluster myAKSCluster s jedním vyhrazeným systémovým fondem obsahujícím dva uzly. U produkčních úloh se ujistěte, že používáte fondy systémových uzlů s alespoň třemi uzly. Dokončení této operace trvá několik minut.

az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-count 2 --generate-ssh-keys

Při vytváření nového clusteru AKS se počáteční fond uzlů ve výchozím nastavení nastaví na režim typu system. Při vytváření nových fondů uzlů pomocí New-AzAksNodePool se tyto fondy stávají fondy uzlů uživatele. Režim fondu uzlů je možné kdykoli aktualizovat.

Vytvořte proměnné pro skupinu prostředků, název clusteru a umístění pro příkazy použité v tomto článku. Tento článek určuje hodnoty nebo můžete použít vlastní hodnoty.

$ResourceGroup="myResourceGroup"
$ClusterName="myAKSCluster"
$Location="eastus"
$NewSystemNP="systempool"
$NewNodePool="mynodepool"

Následující příklad vytvoří skupinu prostředků myResourceGroup v regionu eastus.

New-AzResourceGroup -ResourceGroupName $ResourceGroup -Location $Location

K vytvoření clusteru AKS použijte rutinu New-AzAksCluster . Následující příklad vytvoří cluster myAKSCluster s jedním vyhrazeným systémovým fondem obsahujícím dva uzly. U produkčních úloh se ujistěte, že používáte fondy systémových uzlů s alespoň třemi uzly. Dokončení operace trvá několik minut.

New-AzAksCluster -ResourceGroupName $ResourceGroup -Name $ClusterName -NodeCount 2 -GenerateSshKey

K vytvoření clusteru AKS s fondem systémových uzlů použijte následující konfiguraci Terraformu.

Vytvoření konfiguračního souboru Terraformu

Vytvořte soubor s názvem main.tfa přidejte následující sdílenou konfiguraci:

terraform {
 required_version = ">= 1.0"
 required_providers {
   azurerm = {
     source  = "hashicorp/azurerm"
     version = "~> 4.0"
   }
 }
}
provider "azurerm" {
 features {}
}

Vytvoření skupiny zdrojů

Přidejte následující konfiguraci skupiny prostředků:

resource "azurerm_resource_group" "rg" {
 name     = "aks-system-pool-rg"
 location = "East US"
}

Skupina prostředků slouží k uspořádání a správě Azure prostředků.

Vytvoření nového clusteru AKS

Přidejte následující konfiguraci pro vytvoření clusteru AKS. Počáteční fond uzlů se vytvoří jako fond systémových uzlů a vyžaduje se pro operaci clusteru.

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"
 }
}

Přidejte specializovaný fond systémových uzlů do existujícího clusteru AKS

Do existujících clusterů AKS můžete přidat jeden nebo více fondů systémových uzlů. Doporučuje se naplánovat pody aplikací ve fondech uzlů uživatelů a vyhradit fondy systémových uzlů pouze kritickým podům systému. Toto oddělení zabraňuje nechtěným podům aplikací v náhodném odstranění systémových podů. Vynucujte toto chování pomocí CriticalAddonsOnly=true:NoScheduletaintu pro fondy systémových uzlů.

Následující příkaz přidá vyhrazený fond uzlů typu System se třemi uzly. Příkaz az aks nodepool add ve výchozím nastavení přidá tři uzly, ale pomocí --node-count parametru určíte požadovaný počet uzlů.

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

Do existujících clusterů AKS můžete přidat jeden nebo více fondů systémových uzlů. Doporučuje se naplánovat pody aplikací ve fondech uzlů uživatelů a vyhradit fondy systémových uzlů pouze kritickým podům systému. Přidáním dalších fondů systémových uzlů zabráníte škodlivým podům aplikací náhodně mazat systémové pody. Vynucujte chování pomocí taintu CriticalAddonsOnly=true:NoSchedule pro fondy systémových uzlů.

Následující příkaz přidá vyhrazený fond uzlů typu System se třemi uzly.

$systempoolparams = @{
  ResourceGroupName = $ResourceGroup
  ClusterName = $ClusterName
  Name = $NewSystemNP
  Count = 3
  Mode = 'System'
  NodeTaint = 'CriticalAddonsOnly=true:NoSchedule'
}

New-AzAksNodePool @systempoolparams

Přidejte druhý fond uzlů nakonfigurovaný jako fond systémových uzlů pro izolaci kritických systémových úloh.

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

Tato konfigurace aplikuje CriticalAddonsOnly=true:NoSchedule taint, aby úlohy aplikací nebyly plánovány do vyhrazeného fondu uzlů systému.

Přidejte fond uzlů uživatele

Pokud chcete oddělit úlohy aplikací od systémových komponent, přidejte uživatelský fond uzlů.

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
}

Uživatelské pooly uzlů poskytují vyhrazené prostředí pro aplikační pody.

Konečná kontrola před nasazením

Vaše main.tf by mělo obsahovat:

  • Konfigurace Terraformu a zprostředkovatele
  • Skupina zdrojů
  • AKS cluster s výchozím systémovým uzlovým poolem
  • Dedikovaný fond systémových uzlů
  • Volitelná skupina uzlů uživatele, pokud je to potřeba

Dokončená konfigurace vypadá podobně jako v následujícím příkladu:

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
}

Ověření konfigurace

Spuštěním následujících příkazů naformátujte, inicializujete a ověřte konfiguraci:

terraform fmt
terraform init
terraform validate

Kontrola plánu provádění

Spuštěním následujícího příkazu zkontrolujte plán provádění před nasazením:

terraform plan

Aplikovat konfiguraci

Spuštěním následujícího příkazu vytvořte cluster AKS a fondy uzlů:

terraform apply

Ověření nasazení

Zkontrolujte konfiguraci fondu vyhrazených systémových uzlů:

az aks nodepool show \
 --resource-group aks-system-pool-rg \
 --cluster-name aks-system-pool-cluster \
 --name systempool

Zkontrolujte výstup a ověřte, že je fond uzlů nakonfigurovaný s mode nastaveným na System. Připojte se ke clusteru a vypište uzly.

az aks get-credentials \
 --resource-group aks-system-pool-rg \
 --name aks-system-pool-cluster

kubectl get nodes

Zobrazit podrobnosti pro fond uzlů

Podrobnosti o fondu uzlů můžete zkontrolovat pomocí následujícího příkazu.

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}"

Režim typu Systém je definován pro fondy systémových uzlů a režim typu Uživatel je definován pro fondy uzlů uživatele. V případě systemového poolu ověřte, že je vlastnost nodeTaints nastavená na CriticalAddonsOnly=true:NoSchedule, což brání rozvržení podů aplikací v tomto poolu uzlů.

{
  "Count": 3,
  "Mode": "System",
  "NodePool": "systempool",
  "NodeTaint": [
    "CriticalAddonsOnly=true:NoSchedule"
  ],
  "ResourceGroup": "myResourceGroup"
}

Podrobnosti o fondu uzlů můžete zkontrolovat pomocí následujícího příkazu.

Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName -Name $NewSystemNP |
  Select-Object -Property Count, Mode, Name, NodeTaints

Režim typu Systém je definován pro fondy systémových uzlů a režim typu Uživatel je definován pro fondy uzlů uživatele. V případě systémového fondu ověřte, že je taint nastavený na CriticalAddonsOnly=true:NoSchedule, což brání plánování podů aplikací v tomto uzlovém fondu.

Count Mode   Name       NodeTaints
----- ----   ----       ----------
    3 System systempool {CriticalAddonsOnly=true:NoSchedule}

Tento krok byl zahrnutý v kroku Ověření nasazení v předchozí části.

Režim typu Systém je definován pro fondy systémových uzlů a režim typu Uživatel je definován pro fondy uzlů uživatele. V případě systemového poolu ověřte, že je vlastnost nodeTaints nastavená na CriticalAddonsOnly=true:NoSchedule, což brání rozvržení podů aplikací v tomto poolu uzlů.

Aktualizace stávajícího clusterového systému a uživatelských fondů uzlů.

Poznámka:

K nastavení režimu fondu systémových uzlů musí být použita verze 2020-03-01 rozhraní API nebo vyšší. Clustery vytvořené ve verzích rozhraní API starších než 2020-03-01, v důsledku toho obsahují pouze fondy uzlů uživatelů. Pokud chcete dostávat funkce a výhody fondu systémových uzlů ve starších clusterech, aktualizujte režim stávajících fondů uzlů pomocí následujících příkazů na nejnovější verzi Azure CLI.

Režimy můžete změnit jak pro fondy systémových uzlů, tak pro fondy uzlů uživatele. Fond systémových uzlů můžete změnit na fond uzlů uživatele pouze v případě, že v clusteru AKS již existuje jiný fond systémových uzlů.

Spuštěním tohoto příkazu vytvořte nový fond uzlů v režimu systému.

az aks nodepool add \
  --resource-group $RESOURCE_GROUP \
  --cluster-name $CLUSTER_NAME \
  --name $NEW_NODE_POOL \
  --node-count 3 \
  --mode System

Režim můžete ověřit pomocí následujícího příkazu.

az aks nodepool show \
  --resource-group $RESOURCE_GROUP \
  --cluster-name $CLUSTER_NAME \
  --name $NEW_NODE_POOL \
  --query mode --output tsv
System

Spuštěním tohoto příkazu změňte fond systémových uzlů na fond uzlů uživatele.

az aks nodepool update \
  --resource-group $RESOURCE_GROUP \
  --cluster-name $CLUSTER_NAME \
  --name $NEW_NODE_POOL \
  --mode User

Změněný režim můžete ověřit pomocí následujícího příkazu.

az aks nodepool show \
  --resource-group $RESOURCE_GROUP \
  --cluster-name $CLUSTER_NAME \
  --name $NEW_NODE_POOL \
  --query mode --output tsv
User

Poznámka:

K nastavení režimu fondu systémových uzlů musí být použita verze 2020-03-01 rozhraní API nebo vyšší. Clustery vytvořené ve verzích rozhraní API starších než 2020-03-01, v důsledku toho obsahují pouze fondy uzlů uživatelů. Pokud chcete dostávat funkce a výhody fondu systémových uzlů ve starších clusterech, aktualizujte režim stávajících fondů uzlů pomocí následujících příkazů na nejnovější verzi Azure PowerShell.

Režimy můžete změnit jak pro fondy systémových uzlů, tak pro fondy uzlů uživatele. Fond systémových uzlů můžete změnit na fond uzlů uživatele pouze v případě, že v clusteru AKS již existuje jiný fond systémových uzlů.

Spuštěním tohoto příkazu vytvořte nový fond uzlů v režimu systému.

$newpoolparams = @{
  ResourceGroupName = $ResourceGroup
  ClusterName = $ClusterName
  Name = $NewNodePool
  Count = 3
  Mode = 'System'
}

New-AzAksNodePool @newpoolparams

Režim můžete ověřit pomocí následujícího příkazu.

Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName -Name $NewNodePool |
  Select-Object -Property Mode
Mode
----
System

Spuštěním tohoto příkazu změňte fond systémových uzlů na fond uzlů uživatele.

$updateuserpoolparams = @{
  ResourceGroupName = $ResourceGroup
  ClusterName = $ClusterName
  Name = $NewNodePool
  Mode = 'User'
}

Update-AzAksNodePool @updateuserpoolparams

Režim můžete ověřit pomocí následujícího příkazu.

Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName -Name $NewNodePool |
  Select-Object -Property Mode
Mode
----
User

Pokud chcete změnit režim existujícího fondu uzlů, aktualizujte mode hodnotu v konfiguraci Terraformu a znovu proveďte nasazení.

Například následující konfigurace změní user_pool fond uzlů na fond systémových uzlů:

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
}

Po aktualizaci konfigurace spusťte:

terraform plan
terraform apply

Pokud chcete změnit vyhrazený fond systémových uzlů na fond uzlů uživatele, aktualizujte hodnotu pro mode z system_pool na User a znovu použít konfiguraci.

Odstraňte fond systémových uzlů

Poznámka:

Pokud chcete použít fondy systémových uzlů v clusterech AKS před verzí 2020-03-01rozhraní API, přidejte nový fond systémových uzlů a odstraňte původní výchozí fond uzlů.

Abyste mohli některý z nich odstranit, musíte mít v clusteru AKS alespoň dva fondy systémových uzlů.

az aks nodepool delete \
  --resource-group $RESOURCE_GROUP \
  --cluster-name $CLUSTER_NAME \
  --name $NEW_NODE_POOL

Po odstranění fondu systémových uzlů byste měli mít původní fond systémových uzlů, který byl vytvořen společně s clusterem, a fond systémových uzlů, který jste vytvořili v části přidání vyhrazeného fondu systémových uzlů do existujícího clusteru AKS.

az aks nodepool list \
  --resource-group $RESOURCE_GROUP \
  --cluster-name $CLUSTER_NAME \
  --query "[].{Name:name, Mode:mode}" --output table

Poznámka:

Pokud chcete použít fondy systémových uzlů v clusterech AKS před verzí 2020-03-01rozhraní API, přidejte nový fond systémových uzlů a odstraňte původní výchozí fond uzlů.

Abyste mohli některý z nich odstranit, musíte mít v clusteru AKS alespoň dva fondy systémových uzlů.

Následující příkaz vás vyzve, abyste potvrdili odstranění fondu uzlů. Potvrďte to zadáním Y.

Remove-AzAksNodePool $ResourceGroup -ClusterName $ClusterName -Name $NewNodePool

Po odstranění fondu systémových uzlů byste měli mít původní fond systémových uzlů, který byl vytvořen společně s clusterem, a fond systémových uzlů, který jste vytvořili v části přidání vyhrazeného fondu systémových uzlů do existujícího clusteru AKS.

Get-AzAksNodePool -ResourceGroupName $ResourceGroup -ClusterName $ClusterName

Cluster musí vždy obsahovat alespoň jednu skupinu systémových uzlů. Pokud má cluster více než jeden fond systémových uzlů, můžete ho odebrat odstraněním jeho bloku prostředků z konfigurace Terraformu a použitím změny.

Například odeberte blok prostředků system_pool a potom spusťte:

terraform plan
terraform apply

Vyčištění prostředků

Když odstraníte skupinu prostředků clusteru AKS, odstraní se všechny prostředky clusteru a související skupina prostředků uzlu (MC_).

Pokud chcete cluster odstranit, pomocí příkazu az group delete odstraňte skupinu prostředků AKS:

az group delete --name $RESOURCE_GROUP --yes --no-wait

Pokud chcete cluster odstranit, odstraňte skupinu prostředků AKS pomocí příkazu Remove-AzResourceGroup :

Remove-AzResourceGroup -Name $ResourceGroup -Force

Jakmile dokončíte, odeberte zdroje:

terraform destroy

Další kroky

V tomto článku jste se naučili vytvářet a spravovat fondy systémových uzlů v clusteru AKS. Informace o tom, jak spustit a zastavit fondy uzlů AKS, najdete v tématu spuštění a zastavení fondů uzlů AKS.