Uppgradera operativsystemets (OS) version för dina Azure Kubernetes Service (AKS) Windows-arbetsbelastningar

När du uppgraderar operativsystemets version av en Windows-arbetsbelastning som körs i Azure Kubernetes Service (AKS) måste du distribuera en ny nodpool för att säkerställa att Windows-versionerna matchar på varje nodpool. I den här artikeln beskrivs stegen för att uppgradera operativsystemets version för Windows-arbetsbelastningar i AKS.

Stöd för Windows Server OS-version

När en ny Version av Windows Server-operativsystemet släpps har AKS åtagit sig att stödja den. Vi rekommenderar att du uppgraderar till den senaste versionen för att dra nytta av korrigeringar, förbättringar och nya funktioner. AKS tillhandahåller en femårig supportlivscykel för varje Windows Server-version, från och med Windows Server 2022. Under den här perioden släpper AKS en ny version som stöder en nyare version av Windows Server OS som du kan uppgradera till. När den femåriga livscykeln är slut måste du migrera arbetsbelastningar till nyare versioner som stöds för att säkerställa kompatibilitet, säkerhetsuppdateringar och fortsatt stöd från AKS.

Viktigt!

Från och med den 30 juni 2028 stöder Azure Kubernetes Service (AKS) inte längre Windows Server 2022 nodpooler. Windows Server 2022 stöds inte i Kubernetes version 1.37 och senare. Från och med den 30 juni 2029 tar AKS bort alla befintliga nodbilder för Windows Server 2022, vilket innebär att skalningsåtgärderna misslyckas. Mer information om den här tillbakadragningen finns i GitHub-problemet för pensionering och meddelandet om azure-uppdateringars tillbakadragning. Om du vill hålla dig informerad om meddelanden och uppdateringar, följ AKS versionsinformation.

Limitations

  • Det går inte att uppdatera nodpoolen för att migrera från en Windows Server-version till en annan.
  • Olika Windows Server-versioner kan inte samexistera i samma nodpool i AKS. Du måste skapa en ny nodpool som värd för den nya operativsystemversionen. Det är viktigt att du matchar behörigheterna och åtkomsten för den tidigare nodpoolen till den nya.
  • Windows Server 2025 stöds från och med Kubernetes version 1.32.

Innan du börjar

  • Uppdatera instruktionen FROM i din Dockerfile till den nya OS-versionen.
  • Kontrollera ditt program och kontrollera att containerappen fungerar på den nya operativsystemversionen.
  • Distribuera den verifierade containerappen i AKS till en utvecklings- eller testmiljö.
  • Anteckna det nya avbildningsnamnet eller taggen för användning i den här artikeln.

Note

Information om hur du skapar en Dockerfile för Windows-arbetsbelastningar finns i Dockerfile i Windows och Optimera Windows Dockerfiles.

Lägga till en ny nodpool i ett befintligt kluster

Lägg till en nodpool med önskad OPERATIVSYSTEM-version i ditt befintliga kluster:

Windows Server 2025-nodpooler kräver en FIPS-aktiverad avbildning. När du lägger till en Windows Server 2025-nodpool ska du inkludera --enable-fips-image (Azure CLI) eller -EnableFIPS (Azure PowerShell).

Uppdatera YAML-filen

Node Selector är det vanligaste och rekommenderade alternativet för placering av Windows-poddar på Windows-noder.

  1. Lägg till Node Selector i YAML-filen genom att lägga till följande kommentar:

          nodeSelector:
            "kubernetes.io/os": windows
    

    Anteckningen hittar alla tillgängliga Windows-noder och placerar podden på noden (efter alla andra schemaläggningsregler). När du uppgraderar os-versionen måste du framtvinga placeringen på en Windows-nod och en nod som kör den senaste operativsystemversionen. För att åstadkomma detta är ett alternativ att använda en annan anteckning. Uppdatera <OSSKU> för att matcha ossku för den önskade Windows OS-versionen, till exempel Windows2025.

          nodeSelector:
            "kubernetes.azure.com/os-sku": <OSSKU>
    
  2. När du har uppdaterat nodeSelector i YAML-filen måste du också uppdatera den containeravbildning som du vill använda. Du kan hämta den här informationen från föregående steg där du skapade en ny version av det containerbaserade programmet genom att ändra -instruktionen FROM på din Dockerfile.

    Note

    Du bör använda samma YAML-fil som du använde för att först distribuera programmet. Detta säkerställer att inga andra konfigurationsändringar förutom nodeSelector och containeravbildningen.

Tillämpa den uppdaterade YAML-filen på den befintliga arbetsbelastningen

  1. Visa noderna i klustret med hjälp av kubectl get nodes kommandot .

    kubectl get nodes -o wide
    

    Följande exempelutdata visar alla noder i klustret, inklusive den nya nodpoolen som du skapade och de befintliga nodpoolerna:

    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. Använd den uppdaterade YAML-filen på den befintliga arbetsbelastningen med kommandot kubectl apply och ange namnet på YAML-filen.

    kubectl apply -f <filename>
    

    Följande exempelutdata visar en konfigurerad status för distributionen:

    deployment.apps/sample configured
    service/sample unchanged
    

    Nu startar AKS processen med att avsluta befintliga poddar och distribuera nya poddar till noderna med anteckningen nodeSelector .

  3. Kontrollera statusen för distributionen med hjälp av kubectl get pods kommandot .

    kubectl get pods -o wide
    

    Följande exempelutdata visar poddarna i default namnområdet:

    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>
    

Säkerhets- och autentiseringsöverväganden

Om du använder grupphanterade tjänstkonton (gMSA) måste du uppdatera konfigurationen för hanterad identitet för den nya nodpoolen. gMSA använder en hemlighet (användarkonto och lösenord) så att noden som kör Windows-podden kan autentisera containern mot Microsoft Entra-ID. För att komma åt den hemligheten i Azure Key Vault använder noden en hanterad identitet som gör att noden kan komma åt resursen. Eftersom hanterade identiteter har konfigurerats per nodpool och podden nu finns i en ny nodpool måste du uppdatera den konfigurationen. Mer information finns i Aktivera grupphanterade tjänstkonton (GMSA) för dina Windows Server-noder i ditt AkS-kluster (Azure Kubernetes Service).

Samma princip gäller för hanterade identiteter för andra poddar eller nodpooler vid åtkomst till andra Azure-resurser. Du måste uppdatera all åtkomst som hanterad identitet tillhandahåller för att återspegla den nya nodpoolen. Information om hur du visar uppdaterings- och inloggningsaktiviteter finns i Visa aktivitet för hanterad identitet.

Nästa steg

I den här artikeln har du lärt dig hur du uppgraderar operativsystemets version för Windows-arbetsbelastningar i AKS. Mer information om Windows-arbetsbelastningar i AKS finns i Distribuera ett Windows-containerprogram på Azure Kubernetes Service (AKS).