🚀 K3s-Home-Lab: Troubleshooting & WordPress auf Wyse Thin Clients

Verfasst von

in

In meinem privaten Kubernetes-Lab (K3s auf kompakten Wyse D10 T-48 Thin Clients) gab es heute eine spannende Troubleshooting-Session: Vom blockierten Port bis hin zur funktionierenden WordPress-Instanz.

🛑 Problem 1: Port 6444 blockiert & Connection Refused

Beim Versuch, den Cluster via kubectl abzufragen, verweigerte der K3s-API-Server den Dienst:

Plaintext

dial tcp 127.0.0.1:6443: connect: connection refused

Ein Blick in den Status zeigte: k3s.service war gecrasht. Grund dafĂŒr war ein Port-Konflikt auf der internen Supervisor-Schnittstelle:

Plaintext

failed to listen on 127.0.0.1:6444: listen tcp 127.0.0.1:6444: bind: address already in use
[ Systemd ] ──â–ș versucht k3s.service (Server) zu starten ────┐
                                                             ├─â–ș đŸ’„ PORT 6444 KONFLIKT
[ Systemd ] ──â–ș startet k3s-agent.service (Worker) ──────────┘

💡 Die Ursache & Lösung

Auf dem betroffenen Worker-Node (3-dietpi-trac) lief fÀlschlicherweise sowohl der k3s-agent.service als auch der k3s.service (Server/Control Plane).

Da ein Worker-Node keinen Control-Plane-Server benötigt und beide Instanzen um Port 6444 stritten, haben wir den Server-Dienst auf dem Worker deaktiviert:

Bash

sudo systemctl stop k3s
sudo systemctl disable k3s

Ergebnis: Port 6444 war frei, der k3s-agent verband sich wieder sauber mit dem Control-Plane-Node (1-dietpi-tik), und alle Nodes standen wieder auf Ready!

🐘 Problem 2: MySQL 8.0 vs. Ältere Thin-Client-Hardware

Nachdem der Cluster wieder stabil lief, sollte ein einfaches WordPress-Deployment her. Modernes MySQL 8.0 setzt jedoch neuere CPU-BefehlssĂ€tze (wie SSE4.2) voraus, die Ă€ltere Wyse Thin Client Prozessoren nicht unterstĂŒtzen.

       [ MySQL 8.0 ] ──â–ș FEHLER: Fehlende CPU-Instruktionen / Ressourcen-Hunger
                                     │
                                     ▌
       [ MariaDB 10.5 ] ──â–ș LIGHTWEIGHT & ABSOLUT KOMPATIBEL 🚀

Die Lösung: Wechsel auf MariaDB 10.5. Das verbraucht deutlich weniger Arbeitsspeicher, lÀuft auch auf betagter x86-Hardware extrem performant und ist vollstÀndig zu WordPress kompatibel.

đŸ–Œïž Der Cluster im Überblick (Headlamp)

📝 Das verwendete Kubernetes-Manifest

Das komplette Manifest fĂŒr WordPress inkl. MariaDB und Anbindung ĂŒber NodePort 30080:

YAML

apiVersion: v1
kind: Service
metadata:
  name: wordpress-mariadb
spec:
  ports:
    - port: 3306
  selector:
    app: wordpress
    tier: mariadb
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: wordpress-mariadb
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: mariadb
  template:
    metadata:
      labels:
        app: wordpress
        tier: mariadb
    spec:
      containers:
        - image: mariadb:10.5
          name: mariadb
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: secretpassword
            - name: MYSQL_DATABASE
              value: wordpress
            - name: MYSQL_USER
              value: wordpress
            - name: MYSQL_PASSWORD
              value: wordpress
          ports:
            - containerPort: 3306
---
apiVersion: v1
kind: Service
metadata:
  name: wordpress
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30080
  selector:
    app: wordpress
    tier: frontend
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: wordpress
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: frontend
  template:
    metadata:
      labels:
        app: wordpress
        tier: frontend
    spec:
      containers:
        - image: wordpress:latest
          name: wordpress
          env:
            - name: WORDPRESS_DB_HOST
              value: wordpress-mariadb:3306
            - name: WORDPRESS_DB_USER
              value: wordpress
            - name: WORDPRESS_DB_PASSWORD
              value: wordpress
            - name: WORDPRESS_DB_NAME
              value: wordpress
          ports:
            - containerPort: 80

🎯 Fazit

Mit ein wenig Troubleshooting und der richtigen Auswahl an schlanken Docker-Images lassen sich selbst Ă€ltere Wyse Thin Clients noch hervorragend als produktives K3s-Kubernetes-Home-Lab nutzen! Digitale SouverĂ€nitĂ€t und Self-Hosting im Kleinformat. đŸ’»âœš

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert