Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
FROMi 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:
- Använd CLI för att lägga till en Windows-nodpool i ett befintligt kluster.
- Använd portalen för att lägga till en Windows-nodpool i ett befintligt kluster.
- Använd PowerShell för att lägga till en Windows-nodpool i ett befintligt kluster.
- Använd Terraform för att lägga till en Windows-nodpool i ett befintligt 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.
Lägg till Node Selector i YAML-filen genom att lägga till följande kommentar:
nodeSelector: "kubernetes.io/os": windowsAnteckningen 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 exempelWindows2025.nodeSelector: "kubernetes.azure.com/os-sku": <OSSKU>När du har uppdaterat
nodeSelectori 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 -instruktionenFROMpå 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
nodeSelectoroch containeravbildningen.
Tillämpa den uppdaterade YAML-filen på den befintliga arbetsbelastningen
Visa noderna i klustret med hjälp av
kubectl get nodeskommandot .kubectl get nodes -o wideFö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+azureAnvänd den uppdaterade YAML-filen på den befintliga arbetsbelastningen med kommandot
kubectl applyoch 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 unchangedNu startar AKS processen med att avsluta befintliga poddar och distribuera nya poddar till noderna med anteckningen
nodeSelector.Kontrollera statusen för distributionen med hjälp av
kubectl get podskommandot .kubectl get pods -o wideFöljande exempelutdata visar poddarna i
defaultnamnområ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).