Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| fiberops-platform [07:41 27/01/2026] – [Fazit] 10.8.0.4 | fiberops-platform [04:33 06/02/2026] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 181: | Zeile 181: | ||
| * Network Policies / RBAC-Härtung | * Network Policies / RBAC-Härtung | ||
| + | |||
| + | |||
| + | ====== ---------- ====== | ||
| + | |||
| + | ====== FiberOps Platform – Showcase & Demo-Anleitung ====== | ||
| + | |||
| + | seed: internal/ | ||
| + | |||
| + | ** | ||
| + | Das System zeigt den Zustand eines Glasfaser-/ | ||
| + | |||
| + | |||
| + | ==== 1) Live-Service prüfen (sofort sichtbarer Nutzen) ==== | ||
| + | |||
| + | <code bash> | ||
| + | curl http:// | ||
| + | curl http:// | ||
| + | curl http:// | ||
| + | curl http:// | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | * Health-Endpunkt wird auch von Kubernetes-Probes genutzt | ||
| + | * /segments zeigt den fachlichen Use Case (Glasfaserbetrieb) | ||
| + | * /metrics zeigt Betriebs- und Monitoring-Fähigkeit | ||
| + | |||
| + | |||
| + | |||
| + | ==== 2) Kubernetes-Betrieb zeigen ==== | ||
| + | |||
| + | <code bash> | ||
| + | export KUBECONFIG=/ | ||
| + | |||
| + | kubectl get nodes -o wide | ||
| + | kubectl get ns | ||
| + | kubectl get pods -n fiberops -o wide | ||
| + | kubectl get deploy, | ||
| + | kubectl -n fiberops rollout status deploy/ | ||
| + | kubectl -n fiberops logs deploy/ | ||
| + | </ | ||
| + | |||
| + | |||
| + | * get nodes → Cluster-Gesundheit | ||
| + | * get pods → Laufzeitstatus der Anwendung | ||
| + | * deploy/ | ||
| + | * rollout status → kontrollierte Updates (kein Blindflug) | ||
| + | * logs → Fehlersuche ohne SSH in Container | ||
| + | |||
| + | → Zeigt operativen Kubernetes-Betrieb, | ||
| + | |||
| + | |||
| + | ==== 3) CI/CD auslösen (Automatisierung demonstrieren) ==== | ||
| + | |||
| + | <code bash> | ||
| + | cd / | ||
| + | |||
| + | gh auth status | ||
| + | gh workflow run ci-cd.yaml --ref main -f deploy=true | ||
| + | gh run list --workflow ci-cd.yaml --limit 5 | ||
| + | gh run watch | ||
| + | </ | ||
| + | |||
| + | **GitHub Actions + gh CLI** | ||
| + | |||
| + | * CI/CD ist reproduzierbar und versioniert | ||
| + | * kein manuelles Deployment auf dem Server | ||
| + | * gh CLI vermeidet UI-Klicken und ist skriptfähig | ||
| + | |||
| + | → Änderungen werden über Git gesteuert, nicht per Handarbeit. | ||
| + | |||
| + | |||
| + | ==== 4) Deployment verifizieren ==== | ||
| + | |||
| + | <code bash> | ||
| + | kubectl -n fiberops get pods -o wide | ||
| + | kubectl -n fiberops rollout status deploy/ | ||
| + | curl http:// | ||
| + | </ | ||
| + | |||
| + | |||
| + | * stellt sicher, dass das Deployment erfolgreich war | ||
| + | * zeigt, dass neue Versionen tatsächlich aktiv sind | ||
| + | * Verbindung zwischen CI/CD und laufender Anwendung | ||
| + | |||
| + | → Vertrauen in den automatisierten Prozess. | ||
| + | |||
| + | |||
| + | ==== 5) Change → Deploy → Verify (DevOps-Kern) ==== | ||
| + | |||
| + | <code bash> | ||
| + | cd / | ||
| + | |||
| + | apply_patch <<' | ||
| + | *** Begin Patch | ||
| + | *** Update File: internal/ | ||
| + | @@ | ||
| + | - Version: | ||
| + | + Version: | ||
| + | *** End Patch | ||
| + | PATCH | ||
| + | |||
| + | git add internal/ | ||
| + | git commit -m "demo: change default version" | ||
| + | git push | ||
| + | |||
| + | gh workflow run ci-cd.yaml --ref main -f deploy=true | ||
| + | gh run watch | ||
| + | |||
| + | curl http:// | ||
| + | </ | ||
| + | |||
| + | **Warum dieser Ablauf wichtig ist** | ||
| + | |||
| + | * Änderung erfolgt ausschließlich über Git | ||
| + | * kein direkter Eingriff auf dem Server | ||
| + | * CI/CD baut, verteilt und deployed automatisch | ||
| + | * Ergebnis ist sofort überprüfbar | ||
| + | |||
| + | → Genau dieser Zyklus beschreibt moderne DevOps-Arbeit. | ||
| + | |||
| + | |||
| + | ==== 6) Repository & Dokumentation ==== | ||
| + | |||
| + | * Repository: https:// | ||
| + | * Einstieg: README.md | ||
| + | * Architektur: | ||
| + | * Runbooks: runbooks/ | ||
| + | |||
| + | **Warum Dokumentation? | ||
| + | |||
| + | * ermöglicht Übergabe an andere Teams | ||
| + | * reduziert Bus-Faktor | ||
| + | * zeigt strukturierte Arbeitsweise | ||
| + | |||
| + | |||
| + | ==== Wichtige Design-Entscheidungen ==== | ||
| + | |||
| + | * Kubernetes (k3s) statt Docker-only: | ||
| + | → deklarativer Betrieb, Self-Healing, | ||
| + | |||
| + | * k3s statt volles k8s: | ||
| + | → gleiche API, geringerer Ressourcenbedarf, | ||
| + | |||
| + | * NodePort für Demo: | ||
| + | → schnell sichtbar | ||
| + | → in Produktion: Ingress + TLS | ||
| + | |||
| + | * Trennung Code / CI / Infrastruktur: | ||
| + | → klare Verantwortlichkeiten | ||
| + | → wartbar und erweiterbar | ||