Sdílet prostřednictvím


Řešenípotížích

Během migrace nebo při přidávání nových fondů uzlů do hostitele kontejneru Azure Linuxu můžete narazit na problémy se zastaralými verzemi jádra. Azure Kubernetes Service (AKS) každý týden vydává novou image uzlů Azure s Linuxem, která se používá pro nové fondy uzlů a jako výchozí image pro vertikální navýšení kapacity. Starší fondy uzlů ale nemusí aktualizovat jejich verze jádra podle očekávání.

Pokud chcete zkontrolovat verzi JÁDRA fondu uzlů, spusťte:

    kubectl get nodes -o wide

Potom porovnejte verzi jádra fondů uzlů s nejnovějším jádrem publikovaným na packages.microsoft.com.

Příznaky

Mezi běžné příznaky tohoto problému patří:

  • Uzly Azure s Linuxem nepoužívají nejnovější verzi jádra.

Příčiny

Tento problém má dvě hlavní příčiny:

  1. Při vytváření fondu uzlů se nepovolily automatické upgrady imagí uzlů.
  2. Základní image, kterou AKS používá ke spuštění clusterů, běží dva týdny za nejnovějšími verzemi jádra kvůli postupu zavedení.

Řešení

Pokud chcete tento problém vyřešit, můžete povolit automatické upgrady pomocí GitHub Actions a restartovat uzly.

Povolení automatických upgradů imagí uzlů pomocí Azure CLI

Pokud chcete povolit automatické upgrady image uzlu při nasazování clusteru z az-cli, přidejte parametr --auto-upgrade-channel node-image.

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

Povolení automatických upgradů imagí uzlů pomocí šablon ARM

Pokud chcete povolit automatické upgrady image uzlu při použití šablony ARM, můžete nastavit vlastnost upgradeChannel na autoUpgradeProfile node-imagehodnotu .

    autoUpgradeProfile: {
      upgradeChannel: 'node-image'
    }

Restartování uzlů

Při aktualizaci verze jádra je potřeba restartovat uzel, aby používal novou verzi jádra. Doporučujeme nastavit proces démon kured. Pokud chcete monitorovat uzly pro /var/run/reboot-required soubor, vyprázdněte úlohu a restartujte uzly.

Alternativní řešení: Ruční upgrady

Pokud potřebujete rychlé alternativní řešení, můžete image uzlu v clusteru upgradovat ručně pomocí příkazu az aks nodepool upgrade. To lze provést spuštěním příkazu

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

Další kroky

Pokud předchozí kroky problém nevyřeší, otevřete lístek podpory.