Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak migrovat existující fondy uzlů AKS na Azure Kontejner Linux (ACL) pro AKS. Existující uzly můžete migrovat pomocí jedné z následujících metod:
- Místní migrace edice operačního systému: Změňte edici operačního systému stávajících fondů uzlů na ACL, což automaticky znovu vytvoří image uzlů.
- Odeberte existující fondy uzlů a přidejte nové fondy uzlů seznamu ACL: Vytvořte nové fondy uzlů seznamu ACL, přesuňte úlohy a odeberte staré fondy uzlů.
Important
Pokud používáte Azure Container Linux (ACL) v AKS, zkontrolujte následující aspekty a omezení:
- ACL je všeobecně dostupná počínaje verzí AKS 1.34.
- ACL vyžaduje Trusted Launch se službami Secure Boot a vTPM. Varianty bez důvěryhodného spuštění nejsou k dispozici.
- ACL na platformě Arm64 vyžaduje SKU založené na platformě Cobalt (v6), aby byla podporována kompatibilita s funkcí Trusted Launch.
-
NodeImageaNonejsou jedinými podporovanými kanály upgradu operačního systému.UnmanagedaSecurityPatchnejsou kompatibilní s seznamem ACL kvůli neměnném/usradresáři. - Streamování artefaktů se nepodporuje.
- Pod Sandboxing není podporován.
- Důvěrné virtuální počítače (CVM) se nepodporují.
- Virtuální počítače generace 1 se nepodporují.
Omezení migrace SKU operačního systému na místě
Kromě obecných omezení ACL platí následující konkrétně pro migraci edice operačního systému na místě:
- Funkce migrace skladové položky operačního systému není dostupná prostřednictvím PowerShellu ani webu Azure Portal.
- Funkce migrace SKU operačního systému nepodporuje přejmenování stávajících poolů uzlů.
- Skupiny uzlů s povoleným
UseGPUDedicatedVHDnemohou provést migraci SKU operačního systému. - Fondy uzlů Windows nelze migrovat do ACL.
Předpoklady
- Existující cluster AKS s alespoň jedním fondem linuxových uzlů.
- Azure CLI verze 2.86.0 nebo novější. Verzi zjistíte spuštěním příkazu
az --version. Pokud potřebujete instalovat nebo upgradovat, podívejte se na Install Azure CLI. - Doporučujeme, abyste před migrací produkčních clusterů ověřili, že vaše úlohy v prostředí ACL běží úspěšně, a to nasazením clusteru ACL ve vývojovém nebo testovacím prostředí.
- 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 mohlo během migrace přesouvat pody mezi virtuálními počítači.
Přidejte fondy uzlů ACL a odeberte existující fondy uzlů
Přidejte nový fond uzlů ACL pomocí příkazu
az aks nodepool add. Použijte--mode System, aby nový fond mohl sloužit jako systémový fond agentů, což vám umožní v dalším kroku odstranit původní fond uzlů.az aks nodepool add \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <new-node-pool-name> \ --os-sku AzureContainerLinux \ --mode System \ --node-count 3Příklad výstupu:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/myNewNodePool", "name": "myNewNodePool", "osSku": "AzureContainerLinux", "provisioningState": "Succeeded" }Odeberte svůj stávající fond uzlů pomocí příkazu
az aks nodepool delete.az aks nodepool delete \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <existing-node-pool-name>
Migrace edice operačního systému na místě
Stávající fondy uzlů Linux můžete migrovat na ACL změnou SKU operačního systému fondu uzlů, čímž se cluster postupně aktualizuje standardním procesem upgradu image uzlu. Tato metoda nevyžaduje vytváření nových fondů uzlů; místo toho se ve vašich stávajících fondech uzlů automaticky znovu vytvoří bitová kopie.
Provedení místní migrace skladové položky operačního systému
Important
ACL vyžaduje Trusted Launch. Musíte zahrnout --enable-secure-boot a --enable-vtpm při migraci na SKU operačního systému AzureContainerLinux. Velikost virtuálního počítače (VM) ve fondu uzlů musí podporovat také Trusted Launch. Pokud to vaše aktuální velikost virtuálního počítače nepodporuje, musíte před migrací změnit velikost fondu uzlů nebo fond uzlů znovu vytvořit s podporovanou velikostí virtuálního počítače.
Migrujte SKU operačního systému svého fondu uzlů na ACL pomocí příkazu az aks nodepool update. Tento příkaz spustí opětovné vytvoření bitové kopie fondu uzlů a aktualizuje SKU operačního systému na AzureContainerLinux. 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 <existing-node-pool-name> \
--os-sku AzureContainerLinux \
--enable-secure-boot \
--enable-vtpm
Příklad výstupu:
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureContainerLinux",
"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
Tip
Před migrací produkčních clusterů doporučujeme monitorovat stav vaší služby po dobu několika týdnů.
Po dokončení migrace na testovacích clusterech doporučujeme po dobu několika týdnů monitorovat cluster a úlohy, abyste před migrací produkčních clusterů ověřili, že všechno běží podle očekávání. K ověření migrace a monitorování clusteru použijte následující příkazy:
Pomocí příkazu
kubectl get nodes -o wideověřte, že nové uzly používají ACL. Výstup by měl zobrazit image operačního systému ACL.kubectl get nodes -o widePomocí příkazu
kubectl get pods -o wide -Aověřte, že všechny vaše pody a sady démonů běží v novém fondu uzlů.kubectl get pods -o wide -APomocí příkazu
kubectl get nodes --show-labelsověřte, že všechny popisky uzlů ve vašem upgradovaném fondu uzlů odpovídají vašemu očekávání.kubectl get nodes --show-labelsPomocí příkazu
az aks nodepool listzkontrolujte verzi bitové kopie uzlu.az aks nodepool list \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'Příklad výstupu:
[ { "name": "myNodePool", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
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. Uděláte to tak, že změníte pole OS SKU zpět na předchozí hodnotu a znovu odešlete nasazení, čímž spustíte další operaci upgradu a znovu naimagerujete fond uzlů na předchozí hodnotu OS SKU. Pokud se vrátíte z ACL k předchozí edici operačního systému (SKU), fond uzlů bude ve výchozím nastavení používat variantu bitové kopie Trusted Launch (Gen2), pokud není Trusted Launch explicitně zakázán.
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říklad ukazuje přechod zpět z ACL na Azure Linux:
az aks nodepool update \
--resource-group <resource-group> \
--cluster-name <cluster-name> \
--name <existing-node-pool-name> \
--os-sku AzureLinux
Související obsah
Další informace o ACL viz Co je Azure Container Linux (ACL) pro Azure Kubernetes Service (AKS)?