Dies ist eine alte Version des Dokuments!
FiberOps Platform – DevOps Showcase
Dieses Projekt ist ein praxisnahes DevOps-Showcase und demonstriert den Aufbau, die Automatisierung und den Betrieb einer containerisierten Plattform für einen internen Glasfaser-/Netzbetriebsservice.
Die Dokumentation richtet sich bewusst sowohl an technische Entscheider als auch an nicht-technische Leser im Bewerbungsprozess.
Ziel des Projekts
Ziel ist es zu zeigen, wie moderne DevOps-Arbeit in einer On-Prem- oder Cloud-nahen Umgebung aussieht:
- reproduzierbare Infrastruktur
- klare Trennung von Verantwortlichkeiten
- automatisiertes Deployment
- stabiler, beobachtbarer Betrieb
Der fachliche Use Case orientiert sich an einem realen Szenario aus dem Glasfaserbetrieb (POP, OLT, Segmente, Incidents).
Architekturübersicht
Root Server (Debian 12)
│
├─ KVM / QEMU / Libvirt
│
├─ VM 1: Kubernetes (k3s)
│ └─ FiberOps Webservice (Container)
│
└─ VM 2: Monitoring
├─ Prometheus
└─ Grafana
Warum diese Architektur?
- Virtualisierung (KVM): saubere Isolation, typisch für On-Prem-Betrieb
- Kubernetes: deklarativer Betrieb, Self-Healing, saubere Updates
- k3s: gleiche Kubernetes-API bei geringerem Ressourcenbedarf
- Trennung von Anwendung und Monitoring
Voraussetzungen
- Root-Server mit Debian 12
- Root-Zugriff
- 8 CPU-Kerne
- ca. 16 GB RAM empfohlen
- Internetzugang
- SSH-Zugriff
Schritt 1: Virtualisierung vorbereiten
Installation der notwendigen Komponenten auf dem Root-Server:
apt update apt install -y \ qemu-kvm \ libvirt-daemon-system \ libvirt-clients \ virtinst \ bridge-utils \ cloud-image-utils systemctl enable --now libvirtd
Optional: aktuellen Benutzer zur libvirt-Gruppe hinzufügen:
usermod -aG libvirt,kvm $USER
Schritt 2: Virtuelle Maschinen erstellen
Die VMs werden per cloud-init automatisiert erzeugt. Dadurch ist das Setup reproduzierbar und ohne manuelle Installation.
Beispiel (verkürzt):
virt-install \ --name fiberops-k3s \ --memory 4096 \ --vcpus 4 \ --disk size=30 \ --os-variant debian12 \ --network network=default \ --graphics none \ --import
Eine zweite VM wird analog für Monitoring erstellt.
Schritt 3: Kubernetes (k3s) installieren
In der Kubernetes-VM:
curl -sfL https://get.k3s.io | sh - kubectl get nodes
k3s wurde bewusst gewählt:
- gleiche Kubernetes-API wie „vollwertiges“ k8s
- geringerer Overhead
- ideal für kleine bis mittlere Plattformen
Schritt 4: Anwendung deployen
Die Anwendung wird containerisiert und über Kubernetes betrieben.
Deployment ausführen:
kubectl apply -f k8s/namespace.yaml kubectl apply -f k8s/deployment.yaml kubectl apply -f k8s/service.yaml kubectl apply -f k8s/ingress.yaml
Status prüfen:
kubectl get pods -n fiberops kubectl get svc -n fiberops
Schritt 5: CI/CD
Der Build- und Deployment-Prozess ist automatisiert:
- Code-Änderung → Git Push
- CI baut Container-Image
- Image wird in Registry gespeichert
- Kubernetes rollt neue Version kontrolliert aus
Dadurch sind keine manuellen Deployments notwendig.
Schritt 6: Monitoring
Monitoring erfolgt getrennt von der Anwendung:
- Prometheus sammelt Metriken
- Grafana visualisiert:
- Node-Auslastung
- Pod-Status
- Verfügbarkeit des Services
Dies bildet die Grundlage für:
- Fehlererkennung
- Kapazitätsplanung
- spätere Alerts
Betrieb & Wartung
- Kubernetes Probes überwachen die Anwendung
- Pods werden bei Fehlern automatisch neu gestartet
- Updates erfolgen als Rolling Update ohne Downtime
- Infrastruktur ist vollständig neu aufsetzbar
Erweiterungsmöglichkeiten
- Multi-Node Kubernetes
- GitOps (z. B. ArgoCD)
- Backups
- High Availability Control Plane
- Network Policies / RBAC-Härtung
Fazit
Dieses Projekt zeigt keinen theoretischen Aufbau, sondern eine realistische DevOps-Arbeitsweise:
- Infrastruktur wird geplant, nicht „zusammengeklickt“
- Betrieb ist automatisiert und beobachtbar
- Entscheidungen sind bewusst getroffen und begründet
Es dient als technisches Showcase für DevOps-Rollen mit Fokus auf Kubernetes, Virtualisierung und Betrieb.