Uaktualnianie wersji systemu operacyjnego dla obciążeń usługi Azure Kubernetes Service (AKS) systemu Windows

Podczas uaktualniania wersji systemu operacyjnego uruchomionego obciążenia Windows na Azure Kubernetes Service (AKS) użyj jednej z następujących metod migracji:

  • Migracja w miejscu: Zaktualizuj wersję SKU systemu operacyjnego w istniejącej puli węzłów, aby zmigrować z systemu Windows Server 2022 do systemu Windows Server 2025.
  • Migracja ręczna: utwórz nową pulę węzłów z odpowiednią wersją systemu operacyjnego Windows Server, przenieś obciążenia do nowej puli węzłów i usuń starą pulę węzłów.

Po wydaniu nowej wersji systemu operacyjnego Windows Server, AKS zobowiązuje się do jej wspierania. Zalecamy uaktualnienie do najnowszej wersji, aby skorzystać z poprawek, ulepszeń i nowych funkcji. Usługa AKS zapewnia pięcioletni cykl wsparcia dla każdej wersji systemu Windows Server, począwszy od systemu Windows Server 2022. W tym okresie usługa AKS publikuje nową wersję, która obsługuje nowszą wersję systemu operacyjnego Windows Server, do której chcesz przeprowadzić uaktualnienie. Po zakończeniu cyklu życia pięcioletniego należy przeprowadzić migrację obciążeń do nowszych obsługiwanych wersji, aby zapewnić zgodność, aktualizacje zabezpieczeń i ciągłą obsługę usługi AKS.

Ważne

Od 30 czerwca 2028 r. Azure Kubernetes Service (AKS) nie obsługuje już pul węzłów Windows Server 2022. Windows Server 2022 nie jest obsługiwana w rozwiązaniu Kubernetes w wersji 1.37 lub nowszej. Począwszy od 30 czerwca 2029 r., usługa AKS usunie wszystkie istniejące obrazy węzłów dla Windows Server 2022, co oznacza, że operacje skalowania zakończy się niepowodzeniem. Aby uzyskać więcej informacji na temat tego wycofania, zobacz zgłoszenie GitHub dotyczące wycofania i ogłoszenie o wycofaniu na platformie Azure Updates. Aby być na bieżąco z ogłoszeniami i aktualizacjami, postępuj zgodnie z informacjami o wersji usługi AKS.

Następujące ograniczenia dotyczą migracji wersji systemu operacyjnego Windows Server:

  • Aktualizacja puli węzłów w celu migracji z jednej wersji Windows Server do innej jest obsługiwana tylko w przypadku migracji Windows Server 2022 do Windows Server 2025 przy użyciu aks-preview rozszerzenia Azure CLI w wersji 22.0.0b6 lub nowszej. W przypadku wszystkich innych migracji wersji systemu operacyjnego Windows Server utwórz nową pulę węzłów.
  • Różne wersje systemu Windows Server nie mogą współistnieć w tej samej puli węzłów w usłudze AKS. Jeśli tworzysz nową pulę węzłów dla nowej wersji systemu operacyjnego, upewnij się, że ma ona takie same uprawnienia i poziom dostępu jak poprzednia pula węzłów.
  • System Windows Server 2025 jest obsługiwany od wersji 1.32.0 platformy Kubernetes.

Wymagania wstępne

  • Zaktualizuj instrukcję FROM w pliku Dockerfile do nowej wersji systemu operacyjnego.
  • Sprawdź aplikację i sprawdź, czy aplikacja kontenera działa w nowej wersji systemu operacyjnego.
  • Wdróż zweryfikowaną aplikację kontenerową na AKS w środowisku deweloperskim lub testowym.
  • Zanotuj nową nazwę obrazu lub tag do użycia w tym artykule.
  • W przypadku migracji w miejscu z Windows Server 2022 do Windows Server 2025 zainstaluj lub zaktualizuj aks-preview rozszerzenie Azure CLI do wersji 22.0.0b6 lub nowszej.

Uwaga

Aby dowiedzieć się, jak utworzyć plik Dockerfile dla obciążeń systemu Windows, zobacz Plik Dockerfile w systemie Windows i Optymalizowanie plików Dockerfile systemu Windows.

Ważne

Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:

Zainstaluj rozszerzenie Azure CLI aks-preview

  • Aby zainstalować rozszerzenie aks-preview, uruchom następujące polecenie:

Migracja w miejscu z Windows Server 2022 do Windows Server 2025

Istniejącą pulę węzłów Windows Server 2022 można zmigrować bezpośrednio do systemu Windows Server 2025, aktualizując SKU systemu operacyjnego w tej puli za pomocą polecenia az aks nodepool update. Ta ścieżka migracji używa aks-preview rozszerzenia Azure CLI w wersji 22.0.0b6 lub nowszej. Klaster musi uruchomić platformę Kubernetes w wersji 1.32 do 1.36, w której obsługiwane są obie wersje systemu operacyjnego.

Zagadnienia dotyczące migracji miejscowej

Przed migracją puli węzłów Windows Server 2022 do Windows Server 2025 należy wziąć pod uwagę następujące szczegóły:

  • Windows Server 2025 domyślnie używa obrazów z włączoną obsługą FIPS. Jeśli pula węzłów Windows Server 2022 nie używa jeszcze obrazu z obsługą protokołu FIPS, dołącz --enable-fips-image podczas uruchamiania polecenia aktualizacji.
  • Polecenie aktualizacji powoduje automatyczne ponowne utworzenie obrazu istniejącej puli węzłów.
  • Windows Server 2025 domyślnie używa maszyn wirtualnych generacji 2. Nie musisz mieć istniejącej puli węzłów generacji 2 Windows Server 2022, aby przeprowadzić migrację. Obsługiwane są standardowe pule węzłów Windows Server 2022containerd.
  • Jeśli istniejący rozmiar maszyny wirtualnej obsługuje generację 2, usługa AKS może podczas migracji wybrać obraz systemu Windows Server 2025 2. generacji. Ten domyślny wybór obrazu może mieć wpływ na zgodność obrazu dla niektórych konfiguracji.

W poniższej tabeli opisano, które konfiguracje źródłowe obsługują migrację w miejscu za pomocą polecenia update. W przypadku nieobsługiwanych konfiguracji należy zamiast tego użyć migracji ręcznej .

Istniejąca konfiguracja Support Result
Standardowy obraz systemu Windows Server 2022 containerd generacji 1 z rozmiarem maszyny wirtualnej tylko dla generacji 1 Yes Migruje do Windows Server 2025 generacji 1.
Standardowy obraz systemu Windows Server 2022 containerd 1. generacji z rozmiarem maszyny wirtualnej obsługującym generację 2 Yes Migruje do wersji Windows Server 2025 Generation 2.
Obraz standardowej Windows Server 2022 containerd generacji 2 z rozmiarem maszyny wirtualnej z obsługą generacji 2 Yes Migruje do wersji Windows Server 2025 Generation 2.

Aktualizowanie istniejącej puli węzłów Windows Server 2022 do Windows Server 2025 r.

  1. Zaktualizuj SKU systemu operacyjnego puli węzłów na Windows2025 za pomocą polecenia 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. Sprawdź za pomocą polecenia kubectl describe node, czy węzeł w zaktualizowanej puli węzłów używa jednostki SKU systemu operacyjnego Windows2025 i obrazu Windows Server 2025.

    kubectl describe node <node-name>
    

    Poniższy skrócony przykładowy wynik przedstawia etykietę Windows2025 SKU systemu operacyjnego oraz obraz systemu 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
    

Ręczna migracja do nowej puli węzłów

Migracja ręczna używa nowej puli węzłów zamiast aktualizowania istniejącej puli węzłów. Użyj migracji ręcznej na potrzeby migracji wersji systemu operacyjnego Windows Server, które nie obsługują migracji w miejscu lub jeśli konfiguracja źródła nie jest obsługiwana w przypadku migracji w miejscu. Aby ręcznie przeprowadzić migrację, utwórz nową pulę węzłów z odpowiednią wersją systemu operacyjnego Windows Server i przenieś obciążenia do nowej puli węzłów.

Dodawanie nowej puli węzłów do istniejącego klastra

Dodaj pulę węzłów z odpowiednią wersją systemu operacyjnego do istniejącego klastra:

Pule węzłów systemu Windows Server 2025 wymagają obrazu z włączoną obsługą standardu FIPS. Podczas dodawania puli węzłów Windows Server 2025 dołącz --enable-fips-image (Azure CLI) lub -EnableFIPS (Azure PowerShell).

Aktualizowanie pliku YAML

Selektor węzłów jest najbardziej typową i zalecaną opcją umieszczania zasobników systemu Windows w węzłach systemu Windows.

  1. Dodaj selektor węzła do pliku YAML, dodając następującą adnotację:

          nodeSelector:
            "kubernetes.io/os": windows
    

    Adnotacja znajduje dowolny dostępny węzeł Windows i umieszcza pod na tym węźle (zgodnie z innymi regułami planowania). Podczas aktualizacji wersji systemu operacyjnego należy zapewnić umieszczenie na węźle z systemem Windows oraz na węźle z najnowszą wersją systemu operacyjnego. Aby to osiągnąć, jedną z opcji jest użycie innej adnotacji. Zaktualizuj <OSSKU>, aby dopasować wartość ossku do żądanej wersji systemu Windows, na przykład Windows2025.

          nodeSelector:
            "kubernetes.azure.com/os-sku": <OSSKU>
    
  2. Po zaktualizowaniu nodeSelector pliku YAML należy również zaktualizować obraz kontenera, którego chcesz użyć. Te informacje można uzyskać z poprzedniego kroku, w którym utworzono nową wersję konteneryzowanej aplikacji, zmieniając instrukcję FROM w pliku Dockerfile.

    Uwaga

    Do początkowego wdrożenia aplikacji należy użyć tego samego pliku YAML. Dzięki temu nie następują żadne inne zmiany konfiguracji poza nodeSelector oraz obrazem kontenera.

Stosowanie zaktualizowanego pliku YAML do istniejącego obciążenia

  1. Wyświetl węzły w klastrze przy użyciu kubectl get nodes polecenia .

    kubectl get nodes -o wide
    

    Następujące przykładowe dane wyjściowe przedstawiają wszystkie węzły w klastrze, w tym utworzoną nową pulę węzłów i istniejące pule węzłów:

    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. Zastosuj zaktualizowany plik YAML do istniejącego obciążenia przy użyciu kubectl apply polecenia i określ nazwę pliku YAML.

    kubectl apply -f <filename>
    

    Następujące przykładowe dane wyjściowe pokazują skonfigurowany stan wdrożenia:

    deployment.apps/sample configured
    service/sample unchanged
    

    W tym momencie usługa AKS rozpoczyna proces końcowania istniejących zasobników i wdrażania nowych zasobników w węzłach z adnotacją nodeSelector .

  3. Sprawdź stan wdrożenia przy użyciu kubectl get pods polecenia .

    kubectl get pods -o wide
    

    W poniższym przykładzie dane wyjściowe pokazują zasobniki w przestrzeni nazw default.

    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>
    

Aktualizowanie konfiguracji zabezpieczeń i uwierzytelniania

Jeśli używasz kont usług zarządzanych przez grupę (gMSA), musisz zaktualizować konfigurację tożsamości zarządzanej dla nowej puli węzłów. gMSA używa tajnego (konta użytkownika i hasła), dzięki czemu węzeł z uruchomionym zasobnikiem Windows może uwierzytelnić kontener względem Microsoft Entra ID. Aby uzyskać dostęp do tego sekretu w usłudze Azure Key Vault, węzeł używa Tożsamości Zarządzanej, która umożliwia węzłowi dostęp do zasobu. Ponieważ dla każdej puli węzłów konfigurowane są Managed Identities, a pod znajduje się teraz w nowej puli węzłów, należy zaktualizować tę konfigurację. Aby uzyskać więcej informacji, zobacz Włączanie kont usług zarządzanych przez grupę (GMSA) dla węzłów systemu Windows Server w klastrze usługi Azure Kubernetes Service (AKS).

Ta sama zasada dotyczy zarządzanych tożsamości dla innych podów lub grup węzłów podczas uzyskiwania dostępu do innych zasobów platformy Azure. Aby odzwierciedlić nową pulę węzłów, należy zaktualizować dostęp zapewniany przez tożsamość zarządzaną. Aby wyświetlić działania dotyczące aktualizacji i logowania, zobacz Jak wyświetlić działanie tożsamości zarządzanej.

Dalsze kroki

W tym artykule dowiedziałeś się, jak uaktualnić wersję systemu operacyjnego dla obciążeń systemu Windows w usłudze AKS. Aby dowiedzieć się więcej o obciążeniach systemu Windows w usłudze AKS, zobacz Wdrażanie aplikacji kontenera systemu Windows w usłudze Azure Kubernetes Service (AKS).