Kurz: Migrace uzlů do Azure Linuxu

Důležité

Od 10. prosince 2026 už Azure Kubernetes Service (AKS) nepodporuje Azure Linux s OS Guard pro AKS (Preview). V tomto okamžiku už AKS nevydává nové image uzlů Azure Linux s OS Guard ani neposkytuje bezpečnostní opravy a také už nemůžete vytvářet nové fondy uzlů s Azure Linux s OS Guard. Dne 10. března 2027 AKS odebere všechny stávající image uzlů Azure Linux s OS Guard, což způsobí selhání operací škálování a nápravy (opětovného vytvoření bitové kopie a opětovného nasazení). Abyste se vyhnuli přerušení, migrujte na Azure Container Linux (ACL). Další informace o tomto vyřazení najdete v problému na GitHubu týkajícím se vyřazení a v oznámení o vyřazení v Azure Updates. Pokud chcete mít přehled o oznámeních a aktualizacích, postupujte podle poznámek k verzi AKS.

V tomto kurzu, třetím z pěti, migrujete své stávající uzly na Azure Linux. 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.
  • Proveďte migraci SKU operačního systému (OS) na místě.

Příkazy v tomto kurzu používají proměnné prostředí nastavené v Tutorial 1: Vytvoření clusteru s Azure Linux Container Host for AKS.

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.

Předpoklady

  • 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.

Note

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 instalovat nebo upgradovat, podívejte se na Install Azure CLI.

Nastavení proměnných prostředí

Nastavte následující proměnné prostředí pro vytvoření jedinečných názvů prostředků pro každé nasazení. Zástupný symbol <your-node-pool-name> nahraďte zvoleným názvem. Volitelně můžete připojit náhodnou příponu, abyste zajistili jedinečnost. Název fondu uzlů musí začínat malým písmenem a může obsahovat pouze alfanumerické znaky. U skupin uzlů Linuxu musí být délka mezi jedním a 12 znaky.

# Set random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)

# Set node pool name
export NODE_POOL_NAME="<your-node-pool-name>$RANDOM_SUFFIX"

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.

    az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinux
    

    Příklad výstupu:

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

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

Existující fondy uzlů Ubuntu můžete migrovat na Azure Linux změnou SKU operačního systému fondu uzlů, čímž cluster projde standardním procesem upgradu bitové kopie uzlu. Tato nová funkce nevyžaduje vytvoření nových fondů uzlů.

Omezení migrace SKU operačního systému na místě

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.
  • Důvěryhodné spuštění se ve výchozím nastavení vyžaduje pro Azure Linux s OS Guard. Abyste mohli migrovat na Azure Linux s OS Guard, musíte mít povolené důvěryhodné spuštění. Vzhledem k tomu, že u existujících fondů uzlů nemůžete povolit důvěryhodné spuštění, musíte vytvořit nový fond uzlů s povoleným důvěryhodným spuštěním a migrovat úlohy do fondu uzlů.
  • Zákazníci, kteří používají jenom velikosti virtuálních počítačů Gen 1, nemůžou migrovat na Azure Linux s OS Guardem, protože neexistuje žádná podporovaná image Gen 1. V takovém případě potřebujete vytvořit nové fondy uzlů s velikostí virtuálního počítače, která podporuje Gen2.
  • 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.

Požadavky pro migraci edice operačního systému na místě

  • 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 (PDB), aby AKS mohla během upgradu přesouvat pody mezi virtuálními počítači.
  • Potřebujete Azure CLI verze 2.61.0 nebo vyšší. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalovat nebo upgradovat, podívejte se na Install Azure CLI.
  • Pokud používáte Terraform, musíte mít modul AzureRM pro Terraform ve verzi 3.111.0 nebo novější.

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

Příklad výstupu:

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

Note

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.

Tip

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. Ujistěte se, že vaše apiVersion je nastaveno na 2023-07-01 nebo pozdější.

    • Šablony ARM: Použijte "OSSKU": "AzureLinux" v agentPoolProfile části.
    • Bicep: Použijte osSku: "AzureLinux" v části agentPoolProfile.
    • Terraform: Použijte os_sku = "AzureLinux" v části default_node_pool.
  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.

Přejít zpět na předchozí verzi operačního systému

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.

Pomocí příkazu az aks nodepool update se můžete vrátit k předchozímu SKU operačního systému. Tento příkaz aktualizuje skladovou položku operačního systému pro fond uzlů z Azure Linuxu zpět na Ubuntu.

Další krok

V tomto kurzu jste migrovali stávající uzly na Azure Linux odebráním stávajících fondů uzlů a přidáním nových fondů uzlů Azure Linux nebo provedením migrace SKU operačního systému na místě.

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