Delen via


De versie van het besturingssysteem upgraden voor uw Windows-workloads van Azure Kubernetes Service (AKS)

Wanneer u de versie van het besturingssysteem van een actieve Windows-workload in Azure Kubernetes Service (AKS) bijwerkt, moet u een nieuwe knooppuntgroep implementeren om ervoor te zorgen dat de Windows-versies overeenkomen met elke knooppuntgroep. In dit artikel worden de stappen beschreven voor het upgraden van de versie van het besturingssysteem voor Windows-workloads in AKS. Hoewel dit voorbeeld is gericht op de upgrade van Windows Server 2019 naar Windows Server 2022, kan hetzelfde proces worden gevolgd om een upgrade uit te voeren van elke Windows Server-versie naar een andere.

Ondersteuning voor versie van Windows Server-besturingssysteem

Wanneer er een nieuwe versie van het Windows Server-besturingssysteem wordt uitgebracht, streeft AKS ernaar deze te ondersteunen en wordt u aangeraden een upgrade uit te voeren naar de nieuwste versie om te profiteren van de fixes, verbeteringen en nieuwe functionaliteit. AKS biedt een levenscyclus van vijf jaar ondersteuning voor elke Windows Server-versie, te beginnen met Windows Server 2022. Gedurende deze periode zal AKS een nieuwe versie vrijgeven die ondersteuning biedt voor een nieuwere versie van het Windows Server-besturingssysteem waarnaar u een upgrade kunt uitvoeren.

Notitie

  • Windows Server 2019 wordt buiten gebruik gesteld nadat Kubernetes versie 1.32 het einde van de levensduur (EOL) bereikt. Zie AKS-releaseopmerkingen voor meer informatie.
  • Windows Server 2022 wordt buiten gebruik gesteld nadat Kubernetes versie 1.34 het einde van de levensduur (EOL) bereikt. Zie AKS-releaseopmerkingen voor meer informatie.

Beperkingen

Windows Server 2019 en Windows Server 2022 kunnen niet naast elkaar bestaan in dezelfde knooppuntgroep op AKS. U moet een nieuwe knooppuntgroep maken om de nieuwe versie van het besturingssysteem te hosten. Het is belangrijk dat u de machtigingen en toegang van de vorige knooppuntgroep koppelt aan de nieuwe.

Voordat u begint

  • Werk de FROM instructie in uw Dockerfile bij naar de nieuwe versie van het besturingssysteem.
  • Controleer uw toepassing en controleer of de container-app werkt op de nieuwe versie van het besturingssysteem.
  • Implementeer de geverifieerde container-app op AKS in een ontwikkel- of testomgeving.
  • Noteer de nieuwe afbeeldingsnaam of -tag voor gebruik in dit artikel.

Notitie

Zie Dockerfile in Windows en Windows Dockerfiles optimaliseren voor meer informatie over het bouwen van een Dockerfile voor Windows-workloads.

Een Windows Server 2022-knooppuntgroep toevoegen aan een bestaand cluster

Het YAML-bestand bijwerken

Knooppuntkiezer is de meest voorkomende en aanbevolen optie voor het plaatsen van Windows-pods op Windows-knooppunten.

  1. Voeg nodeselector toe aan uw YAML-bestand door de volgende aantekening toe te voegen:

          nodeSelector:
            "kubernetes.io/os": windows
    

    Met de aantekening worden alle beschikbare Windows-knooppunten gevonden en wordt de pod op dat knooppunt geplaatst (volgens alle andere planningsregels). Wanneer u een upgrade uitvoert van Windows Server 2019 naar Windows Server 2022, moet u de plaatsing afdwingen op een Windows-knooppunt en een knooppunt met de nieuwste versie van het besturingssysteem. Hiervoor kunt u een andere aantekening gebruiken:

          nodeSelector:
            "kubernetes.azure.com/os-sku": Windows2022
    
  2. Zodra u het nodeSelector in het YAML-bestand hebt bijgewerkt, moet u ook de containerinstallatiekopieën bijwerken die u wilt gebruiken. U kunt deze informatie ophalen uit de vorige stap waarin u een nieuwe versie van de containertoepassing hebt gemaakt door de FROM instructie in uw Dockerfile te wijzigen.

Notitie

U moet hetzelfde YAML-bestand gebruiken dat u hebt gebruikt om de toepassing in eerste instantie te implementeren. Dit zorgt ervoor dat er naast de nodeSelector en containerinstallatiekopieën geen andere configuratiewijzigingen worden aangebracht.

Het bijgewerkte YAML-bestand toepassen op de bestaande workload

  1. Bekijk de knooppunten in uw cluster met behulp van de kubectl get nodes opdracht.

    kubectl get nodes -o wide
    

    In de volgende voorbeelduitvoer ziet u alle knooppunten in het cluster, inclusief de nieuwe knooppuntgroep die u hebt gemaakt en de bestaande knooppuntgroepen:

    NAME                                STATUS   ROLES   AGE     VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE                         KERNEL-VERSION     CONTAINER-RUNTIME
    aks-agentpool-18877473-vmss000000   Ready    agent   5h40m   v1.23.8   10.240.0.4     <none>        Ubuntu 18.04.6 LTS               5.4.0-1085-azure   containerd://1.5.11+azure-2
    akspoolws000000                     Ready    agent   3h15m   v1.23.8   10.240.0.208   <none>        Windows Server 2022 Datacenter   10.0.20348.825     containerd://1.6.6+azure
    akspoolws000001                     Ready    agent   3h17m   v1.23.8   10.240.0.239   <none>        Windows Server 2022 Datacenter   10.0.20348.825     containerd://1.6.6+azure
    akspoolws000002                     Ready    agent   3h17m   v1.23.8   10.240.1.14    <none>        Windows Server 2022 Datacenter   10.0.20348.825     containerd://1.6.6+azure
    akswspool000000                     Ready    agent   5h37m   v1.23.8   10.240.0.115   <none>        Windows Server 2019 Datacenter   10.0.17763.3165    containerd://1.6.6+azure
    akswspool000001                     Ready    agent   5h37m   v1.23.8   10.240.0.146   <none>        Windows Server 2019 Datacenter   10.0.17763.3165    containerd://1.6.6+azure
    akswspool000002                     Ready    agent   5h37m   v1.23.8   10.240.0.177   <none>        Windows Server 2019 Datacenter   10.0.17763.3165    containerd://1.6.6+azure
    
  2. Pas het bijgewerkte YAML-bestand toe op de bestaande workload met behulp van de kubectl apply opdracht en geef de naam op van het YAML-bestand.

    kubectl apply -f <filename>
    

    In de volgende voorbeelduitvoer ziet u een geconfigureerde status voor de implementatie:

    deployment.apps/sample configured
    service/sample unchanged
    

    Op dit moment start AKS het proces voor het beëindigen van de bestaande pods en het implementeren van nieuwe pods op de Windows Server 2022-knooppunten.

  3. Controleer de status van de implementatie met behulp van de kubectl get pods opdracht.

    kubectl get pods -o wide
    

    In de volgende voorbeelduitvoer ziet u de pods in de default naamruimte:

    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>
    

Beveiligings- en verificatieoverwegingen

Als u Beheerde serviceaccounts voor groepen (gMSA) gebruikt, moet u de configuratie van de beheerde identiteit voor de nieuwe knooppuntgroep bijwerken. gMSA maakt gebruik van een geheim (gebruikersaccount en wachtwoord), zodat het knooppunt waarop de Windows-pod wordt uitgevoerd, de container kan verifiëren bij Microsoft Entra-id. Voor toegang tot dat geheim in Azure Key Vault gebruikt het knooppunt een beheerde identiteit waarmee het knooppunt toegang heeft tot de resource. Omdat beheerde identiteiten per knooppuntgroep zijn geconfigureerd en de pod zich nu in een nieuwe knooppuntgroep bevindt, moet u die configuratie bijwerken. Zie Group Managed Service Accounts (GMSA) inschakelen voor uw Windows Server-knooppunten in uw AKS-cluster (Azure Kubernetes Service) voor meer informatie.

Hetzelfde principe geldt voor beheerde identiteiten voor elke andere pod of knooppuntgroep bij toegang tot andere Azure-resources. U moet alle toegang die managed identity biedt bijwerken om de nieuwe knooppuntgroep weer te geven. Als u bijwerk- en aanmeldingsactiviteiten wilt weergeven, raadpleegt u Hoe u de activiteiten van beheerde identiteiten kunt weergeven.

Volgende stappen

In dit artikel hebt u geleerd hoe u de versie van het besturingssysteem voor Windows-workloads op AKS bijwerkt. Zie Een Windows-containertoepassing implementeren in Azure Kubernetes Service (AKS) voor meer informatie over Windows-workloads in AKS.