
🌐 Aussi en: English · Deutsch · Español
Cet article fait directement suite au guide précédent. Si vous ne l’avez pas encore lu, commencez par là : Installation initiale : WordPress sur K3s (géré avec Ansible).
Ce guide décrit une chaîne de mise à jour propre et déterministe pour une stack WordPress qui tourne sur Kubernetes via K3s, orchestrée avec Ansible. Voyez-la comme un oignon de mises à jour : chaque couche se maintient indépendamment, tout en restant parfaitement combinable avec les autres. C’est aussi mon aide-mémoire personnel – une sorte de documentation vivante – en attendant que ces procédures deviennent une seconde nature 😉
🧱 Couche 1 – Système d’exploitation (AlmaLinux 9)
Les correctifs de sécurité sont appliqués automatiquement par dnf-automatic. Pour une intervention manuelle :
dnf upgrade
Si une mise à jour du noyau est incluse :
reboot
- Les règles du pare-feu sont réappliquées par des tâches cron @reboot
- K3s et toutes les charges de travail redémarrent d’elles-mêmes
⚙️ Couche 2 – K3s (Kubernetes allégé)
Vérifier la version actuelle :
k3s --version
Mettre à jour K3s :
curl -sfL https://get.k3s.io | sh -
Vérifier le cluster :
kubectl get pods -A
📦 Couche 3 – Charts Helm (ingress-nginx, cert-manager)
Mettre à jour les variables :
ingress_nginx_chart_version: "4.11.0" cert_manager_chart_version: "1.17.0"
Déployer :
ansible-playbook blog.yml --limit test
🐳 Couche 4 – Images de conteneurs
Mettre à jour les tags d’images :
blog_image_wordpress: "wordpress:6.8-fpm" blog_image_mariadb: "mariadb:11.5" blog_image_nginx: "nginx:1.28-alpine"
Déployer :
ansible-playbook blog.yml --limit test
⚠️ Remarque : une mise à jour majeure de MariaDB exige une sauvegarde préalable.
🧩 Couche 5 – Cœur WordPress & extensions
Rechercher les mises à jour :
kubectl exec deployment/wordpress -n wordpress -c wordpress-fpm -- \ php /var/www/html/wp-cli.phar core check-update \ --path=/var/www/html --allow-root
kubectl exec deployment/wordpress -n wordpress -c wordpress-fpm -- \ php /var/www/html/wp-cli.phar plugin list --update=available \ --path=/var/www/html --allow-root
Mettre à jour le cœur :
kubectl exec deployment/wordpress -n wordpress -c wordpress-fpm -- \ php /var/www/html/wp-cli.phar core update \ --path=/var/www/html --allow-root
Mettre à jour les extensions :
kubectl exec deployment/wordpress -n wordpress -c wordpress-fpm -- \ php /var/www/html/wp-cli.phar plugin update --all \ --path=/var/www/html --allow-root
Corriger les permissions :
kubectl exec deployment/wordpress -n wordpress -c wordpress-fpm -- \ chown -R www-data:www-data /var/www/html/wp-content
🚀 Chaîne de mise à jour recommandée
- dnf upgrade
- redémarrage (si nécessaire)
- mise à jour de K3s
- mise à jour de l’inventaire (Helm + images)
- ansible-playbook
- wp-cli core update
- wp-cli plugin update –all
- correction des permissions
💡 Astuce de pro : les étapes 3 à 5 peuvent être entièrement automatisées en une seule exécution Ansible.
🧬 Le mot de la fin
Cette configuration suit une philosophie d’infrastructure déclarative et immuable. Chaque couche se met à jour indépendamment, et pourtant le système reste entièrement reproductible et prévisible.
Moins de chaos. Plus de contrôle. Mode geek à fond. 🧠




