Udostępnij przez


Rozwiązywanie problemów z nieaktualnymi wersjami jądra w obrazach węzłów kontenera systemu Linux platformy Azure

Ważne

Od 30 listopada 2025 r. usługa Azure Kubernetes Service (AKS) nie obsługuje już ani nie zapewnia aktualizacji zabezpieczeń dla systemu Azure Linux 2.0. Obraz węzła systemu Linux 2.0 platformy Azure został zamrożony w wersji 202512.06.0. Od 31 marca 2026 r. obrazy węzłów zostaną usunięte i nie będzie można skalować pul węzłów. Przeprowadź migrację do obsługiwanej wersji systemu Linux platformy Azure, uaktualniając pule węzłów do obsługiwanej wersji rozwiązania Kubernetes lub migrując do systemu osSku AzureLinux3. Aby uzyskać więcej informacji, zobacz Wycofywanie: pule węzłów Linux 2.0 platformy Azure w usłudze AKS.

Podczas migracji lub podczas dodawania nowych pul węzłów do hosta kontenera systemu Linux platformy Azure mogą wystąpić problemy z nieaktualnymi wersjami jądra. Usługa Azure Kubernetes Service (AKS) co tydzień publikuje nowy obraz węzła systemu Linux platformy Azure, który jest używany dla nowych pul węzłów i jako obraz początkowy do skalowania w górę. Jednak starsze pule węzłów mogą nie aktualizować się do nowszych wersji jądra zgodnie z oczekiwaniami.

Aby sprawdzić wersję kernela dla pul węzłów, użyj komendy:

kubectl get nodes -o wide

Następnie porównaj wersję jądra w pulach węzłów z najnowszą wersją jądra opublikowaną na stronie packages.microsoft.com.

Objaw

Typowy objaw tego problemu obejmuje:

  • Węzły systemu Linux platformy Azure nie korzystają z najnowszej wersji jądra.

Przyczyny

Istnieją dwie główne przyczyny tego problemu:

  1. Automatyczne uaktualnienia obrazów węzłów nie zostały włączone podczas tworzenia puli węzłów.
  2. Obraz podstawowy, którego używa AKS do uruchamiania klastrów, jest o dwa tygodnie opóźniony w stosunku do najnowszych wersji jądra z powodu procedury wdrażania.

Rozwiązanie

Aby rozwiązać ten problem, możesz włączyć automatyczne uaktualnienia przy użyciu funkcji GitHub Actions i ponownie uruchomić węzły.

Włączanie automatycznych uaktualnień obrazu węzła przy użyciu interfejsu wiersza polecenia platformy Azure

Aby włączyć automatyczne aktualizacje obrazu węzła podczas wdrażania klastra z az-cli, dodaj parametr --auto-upgrade-channel node-image.

az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux --auto-upgrade-channel node-image

Włącz automatyczne uaktualnienia obrazu węzła przy użyciu szablonów ARM

Aby włączyć automatyczne uaktualnienia obrazu węzła podczas korzystania z szablonu ARM, można ustawić upgradeChannel na autoUpgradeProfile.

    autoUpgradeProfile: {
      upgradeChannel: 'node-image'
    }

Ponowne uruchamianie węzłów

Podczas aktualizowania wersji jądra należy ponownie uruchomić węzeł, aby użyć nowej wersji jądra. Zalecamy skonfigurowanie demonsetu kured. Kured służy do monitorowania węzłów, spuszczania obciążeń oraz ponownego uruchamiania węzłów w kontekście pliku /var/run/reboot-required.

Obejście: Aktualizacje ręczne

Jeśli potrzebujesz szybkiego obejścia, możesz ręcznie zaktualizować obraz węzła w klastrze przy użyciu az aks nodepool upgrade. Można to zrobić poprzez uruchomienie polecenia.

az aks nodepool upgrade \
    --resource-group testAzureLinuxResourceGroup \
    --cluster-name testAzureLinuxCluster \
    --name myAzureLinuxNodepool \
    --node-image-only

Następne kroki

Jeśli powyższe kroki nie rozwiążą problemu, otwórz zgłoszenie serwisowe.