Problème
Le service Kubelet peut refuser de démarrer si le swap est activé sur la machine. Kubernetes exige que le swap soit désactivé pour garantir la stabilité et la prévisibilité des ressources.
Étapes pour désactiver le swap définitivement
1. Identifier la partition swap
Avant de désactiver le swap, identifiez quelle partition est utilisée :
sudo swapon --show
Cette commande affichera la partition swap active (par exemple /dev/nvme0n1p3).
2. Supprimer le swap existant
⚠️ Attention : Ne faites cette manipulation que si vous êtes sûr de ne plus vouloir utiliser la partition swap.
Désactivez temporairement le swap :
sudo swapoff /dev/nvme0n1p3
Remplacez
/dev/nvme0n1p3par la partition identifiée à l''étape précédente.
Supprimez la signature de fichier système (efface tout système de fichiers associé) :
sudo wipefs -a /dev/nvme0n1p3
Remplacez
/dev/nvme0n1p3par la partition identifiée à l''étape précédente.
3. Modifier le fichier GRUB pour désactiver le swap au démarrage
Ouvrez le fichier /etc/default/grub :
sudo nano /etc/default/grub
Repérez la ligne suivante :
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
Et modifiez-la ainsi :
GRUB_CMDLINE_LINUX_DEFAULT="quiet swapaccount=0"
Si d''autres paramètres sont déjà présents, ajoutez simplement
swapaccount=0à la fin.
4. Appliquer les changements GRUB
Regénérez la configuration grub :
sudo update-grub
5. Redémarrer la machine
Enfin, redémarrez le système pour que les changements prennent effet :
sudo reboot
Conclusion
Désactiver complètement le swap permet à Kubernetes (et en particulier Kubelet) de démarrer sans erreur. Cette configuration est fortement recommandée pour tous les nœuds d''un cluster Kubernetes.
