Upgrade verze operačního systému (OS) pro úlohy Azure Kubernetes Service (AKS) s Windows

Při upgradu verze operačního systému spuštěné úlohy Windows na Azure Kubernetes Service (AKS) použijte jednu z následujících metod migrace:

  • Migrace na místě: Aktualizujte SKU operačního systému ve stávajícím fondu uzlů, abyste provedli migraci z Windows Server 2022 na Windows Server 2025.
  • Ruční migrace: Vytvořte nový fond uzlů s požadovanou verzí operačního systému Windows Server, přesuňte úlohy do nového fondu uzlů a odstraňte starý fond uzlů.

Po vydání nové verze operačního systému Windows Server se AKS zavazuje podporovat. Doporučujeme upgradovat na nejnovější verzi, abyste mohli využívat opravy, vylepšení a nové funkce. AKS poskytuje pětiletý životní cyklus podpory pro každou verzi Windows Serveru počínaje Systémem Windows Server 2022. Během této doby AKS vydává novou verzi, která podporuje novější verzi operačního systému Windows Server, na kterou můžete upgradovat. Po uplynutí pětiletého životního cyklu musíte migrovat úlohy do novějších podporovaných verzí, abyste zajistili kompatibilitu, aktualizace zabezpečení a trvalou podporu ze služby AKS.

Důležité

Od 30. června 2028 už Azure Kubernetes Service (AKS) nepodporuje fondy uzlů Windows Server 2022. Windows Server 2022 se v Kubernetes verze 1.37 a novější nepodporuje. Od 30. června 2029 AKS odstraní všechny existující bitové kopie uzlů pro Windows Server 2022, což znamená, že operace škálování selžou. Další informace o tomto vyřazení najdete v tématu Problém s vyřazením z GitHubu a oznámení o vyřazení aktualizací Azure. Pokud chcete mít přehled o oznámeních a aktualizacích, postupujte podle poznámek k verzi AKS.

Pro migraci verzí operačního systému Windows Server platí následující omezení:

  • Aktualizace fondu uzlů pro migraci z jedné verze Windows Server na jinou se podporuje jenom pro migraci z Windows Server 2022 na Windows Server 2025 pomocí aks-preview rozšíření Azure CLI verze 22.0.0b6 nebo novější. Pro všechny ostatní migrace verzí operačního systému Windows Server vytvořte nový fond uzlů.
  • Různé verze Windows Serveru nemůžou existovat ve stejném fondu uzlů v AKS. Pokud vytvoříte nový fond uzlů pro hostování nové verze operačního systému, ujistěte se, že odpovídá oprávněním a přístupu předchozího fondu uzlů k nové verzi.
  • Windows Server 2025 se podporuje počínaje Kubernetes verze 1.32.0.

Prerequisites

  • FROM Aktualizujte příkaz v souboru Dockerfile na novou verzi operačního systému.
  • Zkontrolujte aplikaci a ověřte, že aplikace kontejneru funguje na nové verzi operačního systému.
  • Nasaďte ověřenou aplikaci kontejneru v AKS do vývojového nebo testovacího prostředí.
  • Poznamenejte si název nebo značku nové image pro použití v tomto článku.
  • V případě místní migrace z Windows Server 2022 na Windows Server 2025 nainstalujte nebo aktualizujte aks-preview rozšíření Azure CLI na verzi 22.0.0b6 nebo novější.

Poznámka:

Informace o vytvoření souboru Dockerfile pro úlohy Windows najdete v souboru Dockerfile ve Windows a optimalizaci souborů Dockerfile systému Windows.

Důležité

Funkce AKS ve verzi Preview jsou k dispozici na bázi samoobsluhy a dobrovolného přihlášení. Ukázky jsou poskytovány "tak, jak jsou" a "dle dostupnosti" a jsou vyloučeny ze smluv o úrovni služeb a z omezené záruky. Předběžné verze AKS jsou částečně pokryty zákaznickou podporou podle možností. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:

aks-preview Instalace rozšíření Azure CLI

  • Pokud chcete nainstalovat rozšíření aks-preview, spusťte následující příkaz:

Místní migrace z Windows Server 2022 na Windows Server 2025

Existující fond uzlů Windows Server 2022 můžete migrovat přímo na Windows Server 2025 aktualizací SKU operačního systému ve stávajícím fondu uzlů pomocí příkazu az aks nodepool update. Tato cesta migrace používá aks-preview rozšíření Azure CLI verze 22.0.0b6 nebo novější. Cluster musí používat Kubernetes verze 1.32 až 1.36, kde se podporují obě verze operačního systému.

Aspekty místní migrace

Před migrací fondu uzlů Windows Server 2022 na Windows Server 2025 zvažte následující podrobnosti:

  • Windows Server 2025 ve výchozím nastavení používá image s podporou FIPS. Pokud váš fond uzlů Windows Server 2022 ještě nepoužívá image s podporou FIPS, zahrňte --enable-fips-image ji při spuštění příkazu update.
  • Příkaz update spustí automatické opětovné vytvoření bitové kopie existujícího fondu uzlů.
  • Windows Server 2025 ve výchozím nastavení používá virtuální počítače 2. generace. Abyste mohli migrovat, nemusíte mít existující fond uzlů 2. generace Windows Server 2022. Podporují se standardní fondy uzlů Windows Server 2022containerd.
  • Pokud existující velikost virtuálního počítače podporuje generaci 2, může AKS během migrace vybrat image Windows Server 2025 2. generace. Tento výchozí výběr obrázku může mít vliv na kompatibilitu imagí u některých konfigurací.

Následující tabulka popisuje, které zdrojové konfigurace podporují místní migraci pomocí příkazu update. Pro nepodporované konfigurace použijte místo toho ruční migraci .

Existující konfigurace Podpora Result
Standardní image systému Windows Server 2022 containerd 1. generace s velikostí virtuálního počítače pouze pro 1. generaci Ano Migruje na Windows Server 2025 Generation 1.
Standardní image Windows Server 2022 containerd 1. generace s velikostí virtuálního počítače podporující 2. generaci Ano Migruje na Windows Server 2025 Generation 2.
Standardní image systému Windows Server 2022 containerd 2. generace s velikostí virtuálního počítače podporující 2. generaci Ano Migruje na Windows Server 2025 Generation 2.

Aktualizace existujícího fondu uzlů Windows Server 2022 na Windows Server 2025

  1. Aktualizujte SKU operačního systému fondu uzlů na Windows2025 pomocí příkazu az aks nodepool update.

    az aks nodepool update \
        --resource-group <resource-group-name> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --os-sku Windows2025 \
        --enable-fips-image
    
  2. Ověřte pomocí příkazu kubectl describe node, že uzel v aktualizovaném fondu uzlů používá SKU operačního systému Windows2025 a bitovou kopii Windows Server 2025.

    kubectl describe node <node-name>
    

    Následující zkrácený ukázkový výstup ukazuje popisek Windows2025 SKU operačního systému a bitovou kopii operačního systému Windows Server 2025:

    Labels:
      kubernetes.azure.com/os-sku=Windows2025
      kubernetes.io/os=windows
    ...
    System Info:
      OS Image:                   Windows Server 2025 Datacenter
      Container Runtime Version:  containerd://2.0.4+azure
    

Ruční migrace na nový pool uzlů

Ruční migrace místo aktualizace existujícího fondu uzlů používá nový fond uzlů. Ruční migraci použijte pro migrace verzí operačního systému Windows Server, které nepodporují migraci na místě, nebo pokud konfigurace zdrojového systému není pro migraci na místě podporována. Pokud chcete provést ruční migraci, vytvořte nový fond uzlů s požadovanou verzí operačního systému Windows Server a přesuňte úlohy do nového fondu uzlů.

Přidání nového fondu uzlů do existujícího clusteru

Přidejte fond uzlů s požadovanou verzí operačního systému do stávajícího clusteru:

Fondy uzlů s Windows Serverem 2025 vyžadují bitovou kopii s podporou standardu FIPS. Když přidáte fond uzlů Windows Server 2025, zahrňte --enable-fips-image (Azure CLI) nebo -EnableFIPS (Azure PowerShell).

Aktualizace souboru YAML

Výběr uzlu je nejběžnější a doporučenou možností pro umístění podů Windows na uzlech Windows.

  1. Přidejte do souboru YAML selektor uzlu přidáním následující poznámky:

          nodeSelector:
            "kubernetes.io/os": windows
    

    Poznámka najde jakýkoli dostupný uzel Windows a umístí pod na tento uzel (podle všech ostatních pravidel plánování). Při upgradu verze operačního systému musíte vynutit umístění na uzlu Windows a také na uzlu s nejnovější verzí operačního systému. K tomu je jednou z možností použití jiné poznámky. Aktualizujte <OSSKU> tak, aby odpovídala požadované verzi operačního systému Windows, například Windows2025.

          nodeSelector:
            "kubernetes.azure.com/os-sku": <OSSKU>
    
  2. Po aktualizaci nodeSelector v souboru YAML je také potřeba aktualizovat image kontejneru, kterou chcete použít. Tyto informace můžete získat z předchozího kroku, ve kterém jste vytvořili novou verzi kontejnerizované aplikace změnou FROM příkazu v souboru Dockerfile.

    Poznámka:

    Měli byste použít stejný soubor YAML, který jste použili k počátečnímu nasazení aplikace. Tím se zajistí, že kromě image kontejneru a nodeSelector nedojde k žádným dalším změnám konfigurace.

Použití aktualizovaného souboru YAML u existující úlohy

  1. Pomocí příkazu zobrazte uzly v clusteru kubectl get nodes .

    kubectl get nodes -o wide
    

    Následující příklad výstupu ukazuje všechny uzly v clusteru, včetně nového fondu uzlů, který jste vytvořili, a stávajících fondů uzlů:

    NAME                                STATUS   ROLES   AGE     VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE                         KERNEL-VERSION     CONTAINER-RUNTIME
    aks-agentpool-18877473-vmss000000   Ready    agent   5h40m   v1.33.12   10.240.0.4     <none>        Ubuntu 22.04.5 LTS               5.15.0-1116-azure  containerd://1.7.33-1
    akspoolws000000                     Ready    agent   3h15m   v1.33.12   10.240.0.208   <none>        Windows Server 2022 Datacenter   10.0.20348.825     containerd://1.6.6+azure
    akspoolws000001                     Ready    agent   3h17m   v1.33.12   10.240.0.239   <none>        Windows Server 2022 Datacenter   10.0.20348.825     containerd://1.6.6+azure
    akspoolws000002                     Ready    agent   3h17m   v1.33.12   10.240.1.14    <none>        Windows Server 2022 Datacenter   10.0.20348.825     containerd://1.6.6+azure
    akswspool000000                     Ready    agent   5h37m   v1.33.12   10.240.0.115   <none>        Windows Server 2025 Datacenter   10.0.26100.32995    containerd://2.0.4+azure
    akswspool000001                     Ready    agent   5h37m   v1.33.12   10.240.0.146   <none>        Windows Server 2025 Datacenter   10.0.26100.32995    containerd://2.0.4+azure
    akswspool000002                     Ready    agent   5h37m   v1.33.12   10.240.0.177   <none>        Windows Server 2025 Datacenter   10.0.26100.32995    containerd://2.0.4+azure
    
  2. Použijte aktualizovaný soubor YAML na existující úlohu pomocí kubectl apply příkazu a zadejte název souboru YAML.

    kubectl apply -f <filename>
    

    Následující příklad výstupu ukazuje nakonfigurovaný stav nasazení:

    deployment.apps/sample configured
    service/sample unchanged
    

    V tomto okamžiku spustí AKS proces ukončení existujících podů a nasazení nových podů do uzlů pomocí nodeSelector poznámky.

  3. Pomocí příkazu zkontrolujte stav nasazení kubectl get pods .

    kubectl get pods -o wide
    

    Následující příklad výstupu ukazuje pody v default namespace:

    NAME                      READY   STATUS    RESTARTS   AGE     IP             NODE              NOMINATED NODE   READINESS GATES
    sample-7794bfcc4c-k62cq   1/1     Running   0          2m49s   10.240.0.238   akspoolws000000   <none>           <none>
    sample-7794bfcc4c-rswq9   1/1     Running   0          2m49s   10.240.1.10    akspoolws000001   <none>           <none>
    sample-7794bfcc4c-sh78c   1/1     Running   0          2m49s   10.240.0.228   akspoolws000000   <none>           <none>
    

Aktualizace konfigurace zabezpečení a ověřování

Pokud používáte skupinové účty spravované služby (gMSA), musíte aktualizovat konfiguraci spravované identity pro nový fond uzlů. GMSA používá tajný kód (uživatelský účet a heslo), aby uzel, na kterém běží pod Windows, mohl ověřit kontejner na základě ID Microsoft Entra. Pro přístup k tomuto tajnému kódu ve službě Azure Key Vault používá uzel spravovanou identitu, která uzlu umožňuje přístup k prostředku. Vzhledem k tomu, že spravované identity jsou nakonfigurované na fond uzlů a pod se teď nachází v novém fondu uzlů, musíte tuto konfiguraci aktualizovat. Další informace najdete v tématu Povolení skupinových účtů spravované služby (GMSA) pro uzly Windows Serveru v clusteru Azure Kubernetes Service (AKS).

Stejný princip se vztahuje na spravované identity pro jakýkoli jiný fond podů nebo uzlů při přístupu k jiným prostředkům Azure. Potřebujete aktualizovat veškerý přístup, který spravovaná identita poskytuje, aby odrážel nový fond uzlů. Pokud chcete zobrazit aktivity aktualizace a přihlašování, podívejte se, jak zobrazit aktivitu spravované identity.

Další kroky

V tomto článku jste zjistili, jak upgradovat verzi operačního systému pro úlohy Windows v AKS. Další informace o úlohách Windows v AKS najdete v tématu Nasazení aplikace typu kontejner pro Windows ve službě Azure Kubernetes Service (AKS).