
🌐 Auch auf: English · Français · Español
Dieser Artikel knüpft direkt an die vorherige Anleitung an. Falls du die noch nicht gelesen hast, fang hier an: Ersteinrichtung: WordPress auf K3s (mit Ansible verwaltet).
Diese Anleitung beschreibt eine saubere, deterministische Update-Pipeline für einen WordPress-Stack, der per K3s auf Kubernetes läuft und mit Ansible orchestriert wird. Stell es dir als Update-Zwiebel vor – jede Schicht lässt sich unabhängig pflegen und trotzdem nahtlos mit den anderen kombinieren. Gleichzeitig ist das hier mein persönliches Nachschlagewerk – eine Art lebende Dokumentation –, bis mir diese Abläufe in Fleisch und Blut übergegangen sind 😉
🧱 Schicht 1 – Betriebssystem (AlmaLinux 9)
Sicherheitspatches laufen automatisch über dnf-automatic. Für manuelle Eingriffe:
dnf upgrade
Wenn ein Kernel-Update dabei ist:
reboot
- Die Firewall-Regeln werden per @reboot-Cronjob neu gesetzt
- K3s und alle Workloads kommen von selbst wieder hoch
⚙️ Schicht 2 – K3s (Lightweight Kubernetes)
Aktuelle Version prüfen:
k3s --version
K3s aktualisieren:
curl -sfL https://get.k3s.io | sh -
Cluster prüfen:
kubectl get pods -A
📦 Schicht 3 – Helm-Charts (ingress-nginx, cert-manager)
Variablen anpassen:
ingress_nginx_chart_version: "4.11.0" cert_manager_chart_version: "1.17.0"
Ausrollen:
ansible-playbook blog.yml --limit test
🐳 Schicht 4 – Container-Images
Image-Tags anpassen:
blog_image_wordpress: "wordpress:6.8-fpm" blog_image_mariadb: "mariadb:11.5" blog_image_nginx: "nginx:1.28-alpine"
Ausrollen:
ansible-playbook blog.yml --limit test
⚠️ Hinweis: Vor Major-Upgrades von MariaDB unbedingt ein Backup machen.
🧩 Schicht 5 – WordPress-Core & Plugins
Nach Updates suchen:
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
Core aktualisieren:
kubectl exec deployment/wordpress -n wordpress -c wordpress-fpm -- \ php /var/www/html/wp-cli.phar core update \ --path=/var/www/html --allow-root
Plugins aktualisieren:
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
Berechtigungen korrigieren:
kubectl exec deployment/wordpress -n wordpress -c wordpress-fpm -- \ chown -R www-data:www-data /var/www/html/wp-content
🚀 Empfohlene Update-Pipeline
- dnf upgrade
- Neustart (falls nötig)
- K3s-Update
- Inventory anpassen (Helm + Images)
- ansible-playbook
- wp-cli core update
- wp-cli plugin update –all
- Berechtigungen korrigieren
💡 Profi-Tipp: Die Schritte 3–5 lassen sich komplett in einem einzigen Ansible-Lauf automatisieren.
🧬 Fazit
Dieses Setup folgt der Philosophie einer deklarativen, unveränderlichen (immutable) Infrastruktur. Jede Schicht wird unabhängig aktualisiert, und trotzdem bleibt das ganze System vollständig reproduzierbar und vorhersehbar.
Weniger Chaos. Mehr Kontrolle. Voller Nerd-Modus aktiviert. 🧠




