Ř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:
- Při vytváření fondu uzlů se nepovolily automatické upgrady imagí uzlů.
- 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-image
hodnotu .
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.