Résoudre les problèmes liés aux mises à niveau de package sur l’hôte de conteneur Azure Linux
L’hôte de conteneur Azure Linux pour AKS a dnf-automatic
activé par défaut, un service système qui s’exécute quotidiennement et installe automatiquement les packages récemment publiés. Cela garantit que les packages dans l’hôte de conteneur Azure Linux doivent être mis à jour automatiquement lorsqu’un correctif est publié. Notez que pour certains paramètres du canal de mise à niveau du système d’exploitation de nœud, dnf-automatic
est désactivé par défaut.
Symptômes
Cependant, parfois les packages dans l’hôte de conteneur Azure Linux ne reçoivent pas de mises à niveau automatiques, ce qui peut entraîner les symptômes suivants :
- Messages d’erreur lors du référencement ou de l’utilisation d’un package mis à jour.
- Les packages ne fonctionnent pas comme prévu.
- Les versions obsolètes des packages s’affichent lors de la vérification de la liste des packages hôte de conteneur Azure Linux. Vous pouvez vérifier si les packages de votre image sont synchronisés avec le package récemment publié en visitant le référentiel sur packages.microsoft.com ou en vérifiant les notes de publication dans le référentiel Azure Linux GitHub.
Cause
Certains packages, tels que le noyau Linux, nécessitent un redémarrage pour que les mises à jour prennent effet. Pour faciliter les redémarrages automatiques, la machine virtuelle Linux Azure exécute le service check-restart, qui crée le fichier /var/run/reboot-required
lorsqu’une mise à jour de package nécessite un redémarrage.
Solution
Pour vous assurer que Kubernetes agit sur la demande de redémarrage, nous vous recommandons de configurer le daemonset kured. Kured surveille vos nœuds pour le fichier /var/run/reboot-required
et, lorsqu’il est trouvé, vide le travail hors du nœud et le redémarre.
Étapes suivantes
Si les étapes précédentes ne vous permettent pas de résoudre le problème, ouvrez un ticket d’incident.