Sdílet prostřednictvím


Kurz: Migrace uzlů do Azure Linuxu

V tomto kurzu, který je třetí částí pěti, migrujete existující uzly do Azure Linuxu. Existující uzly můžete migrovat do Azure Linuxu pomocí jedné z následujících metod:

  • Odeberte existující fondy uzlů a přidejte nové fondy uzlů Azure s Linuxem.
  • Místní migrace skladové položky operačního systému

Pokud nemáte žádné existující uzly pro migraci do Azure Linuxu, přejděte k dalšímu kurzu. V dalších kurzech se dozvíte, jak povolit telemetrii a monitorování v clusterech a upgradovat uzly Azure s Linuxem.

Důležité

Od 30. listopadu 2025 už AKS nebude podporovat ani poskytovat aktualizace zabezpečení pro Azure Linux 2.0. Od 31. března 2026 se image uzlů odeberou a nebudete moct škálovat fondy uzlů. Migrujte na podporovanou verzi Azure Linuxu buď aktualizací fondů uzlů na podporovanou verzi Kubernetes, nebo migrací na osSku AzureLinux3. Další informace najdete v tématu [Vyřazení z provozu] Uzel poolů Azure Linux 2.0 v AKS.

Požadavky

  • V předchozích kurzech jste vytvořili a nasadili hostitele kontejneru Azure s Linuxem pro cluster AKS. K dokončení tohoto kurzu je potřeba přidat do existujícího clusteru fond uzlů Azure s Linuxem. Pokud jste tento krok ještě neudělali a chcete postupovat podle pokynů, začněte kurzem 2: Přidání fondu uzlů Azure s Linuxem do existujícího clusteru AKS.

    Poznámka:

    Při přidávání nového fondu uzlů Azure s Linuxem musíte přidat alespoň jeden jako --mode System. Jinak vám AKS nedovolí odstranit existující fond uzlů.

  • Potřebujete nejnovější verzi Azure CLI. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Přidání fondů uzlů Azure s Linuxem a odebrání existujících fondů uzlů

  1. Přidejte nový fond uzlů Azure s Linuxem az aks nodepool add pomocí příkazu. Tento příkaz přidá do clusteru nový fond uzlů s příznakem --mode System , což z něj dělá fond systémových uzlů. Skupiny systémových uzlů jsou vyžadovány pro Linuxové clustery v Azure.
# Declare environment variables with a random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export NODE_POOL_NAME="np$RANDOM_SUFFIX"
az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinux

Výsledky:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
  "name": "systempool",
  "provisioningState": "Succeeded"
}
  1. Pomocí příkazu odeberte existující uzly az aks nodepool delete .

Migrace edice operačního systému na místě

Nyní můžete migrovat existující fondy uzlů Ubuntu do Azure Linux změnou SKU operačního systému fondu uzlů, což provede cluster procesem upgradu standardní image uzlů. Tato nová funkce nevyžaduje vytvoření nových fondů uzlů.

Omezení

Existuje několik nastavení, která můžou zablokovat žádost o migraci skladové položky operačního systému. Pokud chcete zajistit úspěšnou migraci, projděte si následující pokyny a omezení:

  • Funkce migrace skladové položky operačního systému není dostupná prostřednictvím PowerShellu ani webu Azure Portal.
  • Funkce migrace skladové položky operačního systému nemůže přejmenovat existující fondy uzlů.
  • Jedinými podporovanými cíli migrace skladové položky operačního systému Linux jsou Ubuntu, Azure Linux a Azure Linux s OS Guard.
  • Pro Azure Linux s OS Guard se ve výchozím nastavení vyžaduje důvěryhodné spuštění, aby zákazníci mohli migrovat do Azure Linuxu s OS Guard. Vzhledem k tomu, že u stávajících fondů uzlů nelze povolit důvěryhodné spuštění, může to vyžadovat vytvoření nového fondu uzlů.
  • Zákazníci, kteří používají jenom velikosti virtuálních počítačů Gen 1, nebudou moct migrovat do Azure Linuxu s OS Guardem, protože image Gen 1 se nepodporuje. Budou muset vytvořit nové fondy uzlů s velikostí virtuálního počítače, která podporuje generaci 2.
  • Skladová položka s operačním systémem Ubuntu s povoleným prvkem UseGPUDedicatedVHD nemůže provést migraci SKU operačního systému.
  • Skladová položka s operačním systémem Ubuntu s povolenou verzí CVM 20.04 nemůže provést migraci skladové položky operačního systému.
  • Fondy uzlů s povolenou funkcí Kata nemůžou provést migraci SKU operačního systému.
  • Migrace skladové položky operačního systému Windows se nepodporuje.
  • Migrace SKU operačního systému z Marineru do Azure Linuxu se podporuje, ale vrácení zpět do Marineru se nepodporuje.

Požadavky

  • Existující cluster AKS s alespoň jedním poolem uzlů Ubuntu.
  • Než se pokusíte použít funkci migrace SKU operačního systému, doporučujeme zajistit, aby vaše úlohy na hostiteli kontejnerů Azure s Linuxem byly nakonfigurovány a úspěšně spuštěny. Nasazením cloudu Azure s Linuxem v prostředí dev/prod ověřte, že vaše služba zůstane v pořádku.
  • Před použitím procesu v produkčním clusteru se ujistěte, že funkce migrace pracuje pro vás v testovacím/vývojovém prostředí.
  • Ujistěte se, že vaše pody mají dostatečný Pod Disruption Budget, aby AKS mohlo přesouvat pody mezi virtuálními počítači během upgradu.
  • Potřebujete Azure CLI verze 2.61.0 nebo vyšší. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.
  • Pokud používáte Terraform, musíte mít modul Terraform verze 3.111.0 nebo vyšší.

Migrace SKU systému operačního systému fondu uzlů Ubuntu

  • Pomocí příkazu az aks nodepool update migrujte SKU operačního systému fondu uzlů na Azure Linux. Tento příkaz aktualizuje skladovou položku operačního systému pro váš fond uzlů z Ubuntu na Azure Linux. Změna skladové položky operačního systému aktivuje okamžitou operaci upgradu, která trvá několik minut.
az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinux

Výsledky:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
  "name": "nodepool1",
  "osSku": "AzureLinux",
  "provisioningState": "Succeeded"
}

Poznámka:

Pokud během migrace edice operačního systému dojde k problémům, můžete se vrátit k předchozí verzi OS.

Ověření migrace skladové položky operačního systému

Po dokončení migrace na testovacích clusterech byste měli ověřit následující kroky, abyste zajistili úspěšnou migraci:

  • Pokud je vaším cílem migrace Azure Linux, spusťte kubectl get nodes -o wide příkaz. Výstup by měl ukazovat Microsoft Azure Linux 3.0 jako image operačního systému a .azl3 na konci vaší verze jádra.
  • Ověřte spuštěním příkazu kubectl get pods -o wide -A, že všechny pody a daemonsety běží na novém fondu uzlů.
  • Spuštěním příkazu kubectl get nodes --show-labels ověřte, že všechny štítky uzlů ve vašem upgradovaném fondu uzlů odpovídají vašim očekáváním.

Návod

Před migrací produkčních clusterů doporučujeme monitorovat stav služby několik týdnů.

Spuštění migrace SKU operačního systému na vašich produkčních clusterech

  1. Aktualizujte existující šablony, abyste nastavili OSSKU=AzureLinux. V šablonách ARM použijete "OSSKU": "AzureLinux" v agentPoolProfile části. V Bicep použijete osSku: "AzureLinux" v sekci agentPoolProfile. Nakonec pro Terraform použijete os_sku = "AzureLinux" v oddílu default_node_pool . Ujistěte se, že vaše apiVersion je nastaveno na 2023-07-01 nebo pozdější.
  2. Znovu nasaďte šablonu ARM, Bicep nebo Terraform pro cluster, aby se použilo nové OSSKU nastavení. Během tohoto nasazení se cluster chová, jako by prováděl aktualizaci obrazu uzlu. Cluster navýší svou kapacitu a poté jednu po druhé restartuje stávající uzly na nejnovější image AKS z vaší nové verze OS.

Vrácení zpět

Pokud během migrace verze operačního systému dochází k problémům, můžete se vrátit k předchozí verzi operačního systému. K tomu je potřeba změnit pole edice operačního systému v šabloně a znovu odeslat nasazení, což spustí další operaci upgradu a obnoví fond uzlů na předchozí edici operačního systému.

Poznámka:

Migrace SKU operačního systému nepodporuje vrácení na SKU operačního systému Mariner.

  • Vraťte se zpět na předchozí skladovou položku operačního az aks nodepool update systému pomocí příkazu. Tento příkaz aktualizuje skladovou položku operačního systému pro fond uzlů z Azure Linuxu zpět na Ubuntu.

Další kroky

V tomto kurzu jste migrovali existující uzly do Azure Linuxu pomocí jedné z následujících metod:

  • Odeberte existující fondy uzlů a přidejte nové fondy uzlů Azure s Linuxem.
  • Místní migrace skladové položky operačního systému

V dalším kurzu se dozvíte, jak povolit telemetrii pro monitorování clusterů.