Použití aktualizací zabezpečení a jádra na uzly s Linuxem ve službě Azure Kubernetes Service (AKS)

Kvůli ochraně clusterů se aktualizace zabezpečení automaticky použijí na uzly Linuxu v AKS. Mezi tyto aktualizace patří opravy zabezpečení operačního systému nebo aktualizace jádra. Některé z těchto aktualizací vyžadují restartování uzlu, aby se proces dokončil. AKS tyto linuxové uzly automaticky nerestartuje, aby se dokončil proces aktualizace.

Proces udržování uzlů Windows Serveru v aktualizovaném stavu je trochu jiný. Uzly Windows Serveru nedostávají denní aktualizace. Místo toho provedete upgrade AKS, který nasadí nové uzly s nejnovější základní imagí a opravami Windows Serveru. Clustery AKS, které používají uzly Windows Serveru, najdete v tématu Upgrade fondu uzlů v AKS.

V tomto článku se dozvíte, jak pomocí opensourcového kuredu (KUbernetes REboot Daemon) sledovat uzly Linuxu, které vyžadují restartování, a pak automaticky zpracovat plánování spuštěných podů a restartování uzlů.

Poznámka:

Kured je opensourcový projekt v Cloud Native Computing Foundation. Nasměrujte problémy na GitHub. Další podporu najdete v #kured kanálu NA CNCF Slack.

Důležité

Opensourcový software je zmíněn v dokumentaci a ukázkách AKS. Software, které nasadíte, je vyloučeno z dohod o úrovni služeb AKS, omezené záruky a podpory Azure. Při používání open-source technologií spolu s AKS konzultujte dostupné možnosti podpory od příslušných komunit a správců projektů, abyste vytvořili plán.

Microsoft přebírá odpovědnost za vytváření balíčků s otevřeným zdrojovým kódem, které nasazujeme na AKS. Tato odpovědnost zahrnuje plnou správu procesu sestavení, skenování, podepisování, validace a hotfixů, spolu s kontrolou nad binárními soubory v kontejnerových obrazech. Další informace najdete v tématu Řízení zranitelností pro AKS a Podpora pro AKS a rozsah pokrytí.

Důležité

Od 30. listopadu 2025 už Azure Kubernetes Service (AKS) nepodporuje ani neposkytuje aktualizace zabezpečení pro Azure Linux 2.0. Image uzlu Azure Linux 2.0 je zafixována u verze 202512.06.0. Od 31. března 2026 se image uzlů odeberou a nebudete moct škálovat fondy uzlů. Přejděte na podporovanou verzi Azure Linuxu aktualizací poolů uzlů na podporovanou verzi Kubernetes nebo migrací na osSku AzureLinux3. Další informace najdete v tématu Problém s vyřazením z GitHubu a oznámení o vyřazení aktualizací Azure. Pokud chcete mít přehled o oznámeních a aktualizacích, postupujte podle poznámek k verzi AKS.

Než začnete

Potřebujete nainstalovanou a nakonfigurovanou verzi Azure CLI 2.0.59 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalovat nebo upgradovat, podívejte se na Install Azure CLI.

Vysvětlení prostředí aktualizace uzlů AKS

V clusteru AKS vaše uzly Kubernetes běží jako virtuální počítače Azure. Tyto virtuální počítače založené na Linuxu používají image Ubuntu nebo Azure Linuxu s operačním systémem nakonfigurovaným tak, aby každý den automaticky kontrolovala aktualizace. Pokud jsou k dispozici aktualizace zabezpečení nebo jádra, automaticky se stáhnou a nainstalují.

Aktualizace a restartování uzlu AKS s kured

Některé aktualizace zabezpečení, jako jsou aktualizace jádra, vyžadují restartování uzlu k dokončení procesu. Uzel Linuxu, který vyžaduje restartování, vytvoří soubor s názvem /var/run/reboot-required. K tomuto procesu restartování nedojde automaticky.

Ke zpracování restartování uzlů nebo k kured orchestraci procesu můžete použít vlastní pracovní postupy a procesy. V případě kured, daemonSet je nasazen, který spouští pod na každém linuxovém uzlu v clusteru. Tyto pody v daemonSet sledují existenci souboru /var/run/reboot-required a pak zahájí proces restartování uzlů.

Aktualizace obrazů uzlů

Bezobslužné upgrady aplikují aktualizace na operační systém uzlu Linux, ale image používaná pro vytváření uzlů ve vašem clusteru zůstává nezměněna. Pokud do clusteru přidáte nový linuxový uzel, použije se k vytvoření uzlu původní image. Tento nový uzel obdrží všechny aktualizace zabezpečení a jádra dostupné během automatické kontroly každý den, ale zůstane nepatchovaný, dokud nebudou všechny kontroly a restartování dokončeny.

Alternativně můžete použít upgrade image uzlu ke kontrole a aktualizaci imagí uzlů používaných clusterem. Další informace o upgradu image uzlu najdete v dokumentaci Upgrade image uzlu služby Azure Kubernetes (AKS).

Upgrady uzlů

V AKS je další proces, který umožňuje upgradovat cluster. Upgrade se obvykle přesune na novější verzi Kubernetes, a ne jenom aktualizace zabezpečení uzlů. Upgrade AKS provádí následující akce:

  • Nový uzel se nasadí s nejnovějšími aktualizacemi zabezpečení a použitou verzí Kubernetes.
  • Starý uzel je kabelonovaný a vyprázdněný.
  • Pody jsou naplánované na novém uzlu.
  • Starý uzel se odstraní.

Během události upgradu nemůžete zůstat ve stejné verzi Kubernetes. Musíte zadat novější verzi Kubernetes. Pokud chcete upgradovat na nejnovější verzi Kubernetes, můžete upgradovat cluster AKS.

Nasazení kured v clusteru AKS

Pokud chcete nasadit kured daemonSet, nainstalujte následující oficiální chart Kured Helm. Tím se vytvoří role a role clusteru, vazby a účet služby a pak nasadí daemonSet pomocí kured.

# Add the Kured Helm repository
helm repo add kubereboot https://kubereboot.github.io/charts/

# Update your local Helm chart repository cache
helm repo update

# Create a dedicated namespace where you would like to deploy kured into
kubectl create namespace kured

# Install kured in that namespace with Helm 3 (only on Linux nodes, kured is not working on Windows nodes)
helm install my-release kubereboot/kured --namespace kured --set controller.nodeSelector."kubernetes\.io/os"=linux

Můžete také nakonfigurovat další parametry, kurednapříklad integraci s Prometheus nebo Slack. Další informace o parametrech konfigurace najdete v grafu Kured Helm.

Aktualizace uzlů clusteru

Ve výchozím nastavení linuxové uzly v AKS kontrolují aktualizace každý večer. Pokud nechcete čekat, můžete ručně provést aktualizaci a zkontrolovat, jestli kured je spuštěná správně. Nejprve postupujte podle kroků pro SSH k jednomu z uzlů AKS. Jakmile budete mít připojení SSH k uzlu Linuxu, zkontrolujte aktualizace a nainstalujte je následujícím způsobem:

sudo apt-get update && sudo apt-get upgrade -y

Pokud byly použity aktualizace, které vyžadují restartování uzlu, soubor se zapíše do složky /var/run/reboot-required. Kured kontroluje uzly, které ve výchozím nastavení vyžadují restartování každých 60 minut.

Monitorování a kontrola procesu restartování

Když jedna z replik v daemonSet zjistí, že se vyžaduje restartování uzlu, zámek se umístí do uzlu prostřednictvím rozhraní Kubernetes API. Tento zámek zabraňuje naplánování dalších podů na uzlu. Zámek také označuje, že se současně má restartovat jenom jeden uzel. Když je uzel vypnutý, spuštěné pody se vyprázdní z uzlu a uzel se restartuje.

Stav uzlů můžete monitorovat pomocí příkazu kubectl get nodes . Následující příklad výstupu ukazuje uzel se stavem SchedulingDisabled , protože uzel se připravuje na proces restartování:

NAME                       STATUS                     ROLES     AGE       VERSION
aks-nodepool1-28993262-0   Ready,SchedulingDisabled   agent     1h        v1.11.7

Po dokončení procesu aktualizace můžete pomocí příkazu kubectl get nodes s parametrem --output wide zobrazit stav uzlů. Tento výstup umožňuje zobrazit rozdíl ve verzi JÁDRA základních uzlů, jak je znázorněno v následujícím příkladu výstupu. Aks-nodepool1-28993262-0 byl aktualizován v předchozím kroku a zobrazuje jádro verze 4.15.0-1039-azure. Uzel aks-nodepool1-28993262-1, který nebyl aktualizován, zobrazuje jádro verze 4.15.0-1037-azure.

NAME                       STATUS    ROLES     AGE       VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
aks-nodepool1-28993262-0   Ready     agent     1h        v1.11.7   10.240.0.4    <none>        Ubuntu 16.04.6 LTS   4.15.0-1039-azure   docker://3.0.4
aks-nodepool1-28993262-1   Ready     agent     1h        v1.11.7   10.240.0.5    <none>        Ubuntu 16.04.6 LTS   4.15.0-1037-azure   docker://3.0.4

Další kroky

Tento článek podrobně popisuje, kured jak restartovat uzly Linuxu automaticky v rámci procesu aktualizace zabezpečení. Pokud chcete upgradovat na nejnovější verzi Kubernetes, můžete upgradovat cluster AKS.

Clustery AKS, které používají uzly Windows Serveru, najdete v tématu Upgrade fondu uzlů v AKS.

Podrobné informace o osvědčených postupech upgradu a dalších aspektech najdete v pokynech k opravám a upgradu AKS.