Co to jest Azure Container Linux (ACL) dla Azure Kubernetes Service (AKS)?

W tym artykule przedstawiono omówienie Azure Container Linux (ACL), niezmiennego, zoptymalizowanego pod kątem kontenera systemu operacyjnego dla Azure Kubernetes Service (AKS). ACL wywodzi się z projektu Flatcar Container Linux i bazuje na sprawdzonej, niezmiennej architekturze stawiającej kontenery na pierwszym miejscu, wzbogaconej o pakiety Azure Linux, obsługę serwisową i integrację z platformą. Dzięki temu ACL może pozostawać w ścisłej zgodności z rozwojem projektu Flatcar, a jednocześnie spełniać wymagania Azure dotyczące środowiska produkcyjnego, bezpieczeństwa i zgodności. Aby dowiedzieć się więcej o systemie Flatcar Container Linux, zobacz dokumentację flatcar.

ACL jest ogólnie dostępne jako opcja systemu operacyjnego w AKS od wersji 1.34. Pule węzłów listy ACL można wdrożyć w nowym klastrze usługi AKS, dodać pule węzłów listy ACL do istniejących klastrów i zmigrować istniejące pule węzłów systemu Linux do listy ACL.

Note

ACL to wydanie ogólnie dostępne systemu Flatcar Container Linux dla AKS, który trafił do wersji zapoznawczej w listopadzie 2025 r. Funkcje OS Guard (wersja zapoznawcza), takie jak integralność kodu z egzekwowaniem zasad integralności (IPE), obecnie nie są obsługiwane. Jeśli już dziś potrzebujesz funkcji OS Guard, zalecamy dalsze korzystanie z rozwiązania OS Guard i przejście na ACL, gdy te funkcje będą dostępne.

Korzyści wynikające z używania listy ACL w usłudze AKS

Korzystanie z ACL jako systemu operacyjnego dla pul węzłów AKS oferuje szereg korzyści, które zwiększają bezpieczeństwo, niezawodność i wydajność operacyjną:

  • Wbudowana niezmienność dla większego bezpieczeństwa: wymuszana przez jądro niezmienność katalogu /usr weryfikuje integralność obrazu systemu podczas rozruchu i działania systemu. Ten projekt pomaga zablokować nieautoryzowane zmiany, zanim będą mogły wpłynąć na klaster i zmniejszyć ryzyko naruszenia na poziomie systemu operacyjnego.
  • Minimalna powierzchnia ataku: ACL dostarcza tylko komponenty potrzebne do uruchamiania kontenerów. Dzięki zmniejszeniu rozmiaru i złożoności systemu operacyjnego lista ACL minimalizuje liczbę pakietów, usług i potencjalnych punktów wejścia dostępnych dla osób atakujących i upraszcza zarządzanie zabezpieczeniami.
  • Automatyczne aktualizacje obrazów węzłów: ACL dostarcza cotygodniowe aktualizacje obrazów obejmujące najnowsze poprawki bezpieczeństwa i błędów. Takie podejście zapewnia spójność i aktualność wersji systemu operacyjnego węzła w klastrze oraz zmniejsza narażenie na znane luki w zabezpieczeniach.
  • Zaufanie do łańcucha dostaw: Bazuje na podpisanych pakietach i procesach łańcucha dostaw w systemie Azure Linux, zapewniając przejrzyste pochodzenie składników systemu.
  • Integracja z funkcjami zabezpieczeń platformy Azure: natywna obsługa zaufanego uruchamiania i bezpiecznego rozruchu zapewnia mierzoną ochronę rozruchu i zaświadczania.
  • Przejrzystość open source: Flatcar, a także wiele technologii bazowych (dm-verity i SELinux), pochodzi z projektów upstream lub jest oprogramowaniem open source, a Microsoft udostępnia narzędzia i wnosi wkład wspierający te funkcje.

Główne funkcje ACL

Następujące kluczowe funkcje wyróżniają ACL jako wzmocniony system operacyjny zoptymalizowany pod kątem kontenerów dla AKS:

  • Niezmienność: katalog "/usr" jest instalowany jako wolumin tylko do odczytu chroniony przez dm-verity. W czasie wykonywania jądro sprawdza poprawność podpisanego skrótu głównego w celu wykrywania i blokowania manipulowania
  • Obowiązkowa kontrola dostępu za pomocą narzędzia SELinux: lista ACL zawiera seLinux w celu wymuszania obowiązkowych zasad kontroli dostępu, które ograniczają procesy, które mogą uzyskiwać dostęp do poufnych zasobów systemowych. Należy pamiętać, że seLinux działa domyślnie w trybie wymuszania. Zasady SELinux mogą ewoluować wraz z upływem czasu.
  • Zaufane uruchamianie i bezpieczny rozruch: lista ACL wymaga zaufanego uruchamiania z bezpiecznym rozruchem i modułem vTPM, aby zapewnić integralność łańcucha rozruchu przed załadowaniem systemu operacyjnego. Jest to osiągane przy użyciu ujednoliconego obrazu jądra (UKI), który łączy jądro, initramfs i wiersz polecenia jądra w jeden podpisany artefakt. Podczas rozruchu UKI jest mierzony i rejestrowany w vTPM, zapewniając integralność od najwcześniejszego etapu.
  • Obsługa węzłów GPU NVIDIA: ACL obsługuje pule węzłów wyposażone w układy GPU NVIDIA w architekturze AMD64, umożliwiając uruchamianie obciążeń HPC i AI/ML w usłudze AKS z wykorzystaniem wzmocnionego systemu operacyjnego zoptymalizowanego pod kątem kontenerów. ACL nie obsługuje architektur ARM64 dla pul węzłów z obsługą GPU.
  • Obsługa architektur AMD64 i ARM64: ACL jest dostępna w usłudze AKS zarówno dla architektury AMD64, jak i ARM64.
  • Suwerenne bezpieczeństwo łańcucha dostaw: ACL dziedziczy bezpieczne potoki kompilacji systemu Azure Linux oraz podpisane ujednolicone obrazy jądra (UKI).
  • Automatyczna aprowizacja węzłów: ACL obsługuje automatyczną aprowizację węzłów (NAP).

Ważna

Jeśli używasz Azure Container Linux (ACL) w usłudze AKS, zapoznaj się z następującymi zagadnieniami i ograniczeniami:

Plan rozwoju funkcji

Aby uzyskać więcej informacji, zobacz Azure Harmonogram działania funkcji systemu Linux.

Migracje i aktualizacje systemu operacyjnego z użyciem list ACL

Usługa AKS obsługuje migrację istniejących pul węzłów do ACL przy użyciu migracji SKU systemu operacyjnego w miejscu lub przez utworzenie nowych pul węzłów ACL. Aby uzyskać szczegółowe instrukcje dotyczące migracji, kwestie do rozważenia oraz instrukcje wycofania, zobacz Migrowanie istniejących węzłów do ACL.

ACL dla wersjonowania usługi AKS

ACL for AKS publikuje co tydzień obrazy węzłów AKS. Przechowywanie wersji jest zgodne z formatem opartym na dacie usługi AKS (na przykład: 202506.13.0). ACL obecnie obsługuje tylko aktualizacje pełnego obrazu węzła. Aby uzyskać więcej informacji, zobacz obrazy węzłów Azure Container Linux (ACL).

Możesz sprawdzić dostępne obrazy węzłów w informacjach o wydaniu i wyświetlić nodeImageVersion dla uruchomionego klastra za pomocą polecenia az aks nodepool list. Przykład:

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name> --query '[].{name: name, nodeImageVersion: nodeImageVersion}'

Przykładowy wynik:

[
{
    "name": "nodes",
    "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0"
}
]

Aby rozpocząć korzystanie z ACL w usłudze AKS, zobacz następujące zasoby: