- Authors

- Name
- Phillip Pham
- @ddppham
Container-Plattformen fuer Energieversorger und Stadtwerke
TL;DR
- Kubernetes loest das Kernproblem der Energiebranche: monolithische Legacy-Systeme, die mit der Geschwindigkeit der Energiewende nicht mithalten.
- Eine Referenzarchitektur mit zentralem Cluster plus K3s-Edge-Nodes deckt sowohl Rechenzentrum als auch Umspannwerk ab.
- cert-manager, Network Policies und RBAC sind keine Extras, sondern Pflicht, wenn DSGVO und BSI-Grundschutz gelten.
- Ein realistischer Einstieg dauert 90 Tage -- vom PoC bis zum ersten produktiven Workload.
- Die hoehere Ressourcenauslastung durch Container rechnet sich ab dem zweiten Jahr messbar gegenueber klassischen VM-Stacks.
Ausgangslage: Warum die klassische IT nicht mehr reicht
Stadtwerke und regionale Energieversorger betreiben haeufig noch monolithische Java-Applikationen auf dedizierten VMs. Neue Anforderungen -- Smart Meter Rollout, Ladeinfrastruktur, dynamische Tarife -- erfordern aber kurze Release-Zyklen und horizontale Skalierung. Genau das liefert eine Container-Plattform.
Die entscheidenden Argumente aus der Praxis:
| Aspekt | VM-basiert (klassisch) | Kubernetes-basiert |
|---|---|---|
| Deployment-Dauer | Stunden bis Tage | Minuten (CI/CD-Pipeline) |
| Ressourcenauslastung (CPU) | 15-30 % | 50-70 % |
| Recovery nach Ausfall | manuell, 30-60 Min | automatisch, unter 5 Min (Self-Healing) |
| Skalierung | vertikal, manuell | horizontal, automatisch (HPA) |
| Portabilitaet | an Hypervisor gebunden | OCI-Standard, ueberall lauffaehig |
Das bedeutet nicht, dass jede Applikation sofort migriert werden muss. Aber fuer neue Services -- Zaehlerdaten-Pipelines, Kundenportale, Prognose-APIs -- ist ein Container-first-Ansatz sinnvoll.
Referenzarchitektur
Die folgende Architektur hat sich fuer mittlere Stadtwerke (50-200 IT-Nutzer) bewaehrt. Sie laesst sich sowohl on-premise als auch in einer Private Cloud betreiben.
Zentrale Komponenten:
- Control Plane: 3 Master-Nodes (HA), etcd als Cluster-Store
- Worker Nodes: 4-8 Nodes, aufgeteilt in Pools (general-purpose, memory-optimized fuer Zeitreihen-DBs)
- CNI: Calico fuer Network Policies und Netzwerksegmentierung
- CSI: Rook-Ceph oder NetApp Trident fuer persistenten Storage
- Ingress: NGINX Ingress Controller mit TLS-Terminierung via cert-manager
- Monitoring: Prometheus + Grafana (siehe auch Kubernetes Monitoring: Kosten senken mit Open Source)
- Logging: Loki oder ELK-Stack fuer zentrales Log-Management
- CI/CD: GitLab CI oder Argo CD fuer deklarative Deployments
Edge Layer (optional, empfohlen fuer Smart Grid):
K3s auf ARM-basierten Gateways in Umspannwerken oder bei Grosskunden. Diese Edge-Nodes fuehren Vorverarbeitung und Filterung durch und senden aggregierte Daten ueber MQTT/Kafka an den zentralen Cluster.
Deployment-Beispiel: Smart Meter Parser
apiVersion: apps/v1
kind: Deployment
metadata:
name: smart-meter-parser
namespace: metering
labels:
app: smart-meter-parser
team: data-engineering
spec:
replicas: 3
selector:
matchLabels:
app: smart-meter-parser
template:
metadata:
labels:
app: smart-meter-parser
spec:
containers:
- name: parser
image: registry.internal/metering/smart-meter-parser:2.4.1
ports:
- containerPort: 8080
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "250m"
env:
- name: KAFKA_BROKERS
value: "kafka.messaging.svc.cluster.local:9092"
- name: DB_HOST
valueFrom:
secretKeyRef:
name: timescaledb-credentials
key: host
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 10
periodSeconds: 15
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: smart-meter-parser
namespace: metering
spec:
selector:
app: smart-meter-parser
ports:
- protocol: TCP
port: 80
targetPort: 8080
Wichtig: Liveness- und Readiness-Probes sind kein Nice-to-have. Ohne sie kann Kubernetes nicht sauber zwischen "Applikation haengt" und "Applikation startet noch" unterscheiden.
Network Policy: Isolation der Metering-Namespace
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: restrict-metering-ingress
namespace: metering
spec:
podSelector: {}
policyTypes:
- Ingress
ingress:
- from:
- namespaceSelector:
matchLabels:
purpose: data-ingestion
- podSelector:
matchLabels:
role: kafka-consumer
ports:
- protocol: TCP
port: 8080
Diese Policy erlaubt eingehenden Traffic in den metering-Namespace nur aus dem Data-Ingestion-Namespace und nur an Port 8080. Alles andere wird blockiert. In einer Umgebung mit SCADA-Anbindung ist diese Segmentierung nicht optional.
HPA fuer lastabhaengige Skalierung
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: smart-meter-parser-hpa
namespace: metering
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: smart-meter-parser
minReplicas: 3
maxReplicas: 12
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 65
Damit skaliert der Parser automatisch hoch, wenn die CPU-Last steigt -- etwa beim morgendlichen Batch-Import von Smart-Meter-Daten.
OT-Integration: Was geht, was nicht
Eine haeufige Frage: Kann Kubernetes direkt mit SCADA-Systemen kommunizieren? Die kurze Antwort: Nein, und das sollte es auch nicht.
SCADA-Systeme unterliegen anderen Echtzeitanforderungen und Sicherheitszertifizierungen (IEC 62443). Kubernetes dient als Datenplattform oberhalb der OT-Schicht. Daten fliessen ueber spezialisierte Gateways (OPC-UA-Server, MQTT-Broker) vom Feld in den Cluster. Dort werden sie in containerisierten Pipelines verarbeitet -- fuer Analysen, Prognosen oder Dashboards. Die Steuerung kritischer Infrastruktur bleibt in der OT-Welt.
DSGVO und BSI-Grundschutz
Fuer Energieversorger gelten erhoehte Anforderungen, insbesondere wenn sie als KRITIS-Betreiber eingestuft sind. Die wichtigsten Massnahmen auf Kubernetes-Ebene:
- Datenlokalitaet: Cluster on-premise oder in einem Rechenzentrum innerhalb der EU betreiben. Damit bleiben personenbezogene Daten (Kundenstammdaten, Verbrauchsprofile) unter Kontrolle.
- RBAC: Granulare Rechtevergabe. Entwickler bekommen Zugriff auf Dev-Namespaces, nicht auf Production. Siehe Kubernetes Security Hardening fuer Details.
- Network Policies: Wie oben gezeigt -- jede Namespace-Grenze ist eine Sicherheitsgrenze.
- Image Scanning: Trivy oder Grype in der CI/CD-Pipeline, bevor ein Image in die Registry kommt.
- Audit Logging: API-Server Audit Logs aktivieren und an das zentrale SIEM weiterleiten.
- Verschluesselung: etcd-Encryption-at-Rest, TLS fuer alle internen Kommunikationspfade via cert-manager und PKI.
90-Tage-Plan: Vom PoC zum ersten Workload
Woche 1-4: Fundament legen
- Kick-off mit IT-Leitung und Fachbereichen: Use Cases priorisieren (nicht alles auf einmal)
- Kernteam schulen: Docker-Grundlagen, kubectl, Kubernetes-Objekte
- Hardware/Cloud evaluieren: On-premise vs. Managed Kubernetes (Kostenvergleich siehe Kubernetes Hosting Kosten)
- PoC-Cluster aufsetzen (K3s oder kubeadm auf 3 Nodes)
- Erste Container-Images bauen: Dockerfiles, Multi-Stage Builds, Image-Scanning
Woche 5-8: Pilotprojekt umsetzen
- Eine nicht-kritische Applikation containerisieren (z.B. internes Reporting-Tool oder Kundenportal-API)
- CI/CD-Pipeline einrichten (GitLab CI oder Argo CD)
- Monitoring deployen: Prometheus, Grafana, erste Alerting-Regeln
- Zentrales Logging aufsetzen
- Network Policies und RBAC fuer den Pilot-Namespace konfigurieren
Woche 9-12: Haerten und dokumentieren
- Lasttests durchfuehren, Ressourcen-Requests/Limits feinjustieren
- Backup-Strategie implementieren (Velero fuer Cluster-Backups, separate DB-Backups)
- Disaster Recovery testen: Node-Ausfall simulieren, Recovery-Zeit messen
- Dokumentation erstellen: Architektur, Runbooks, Troubleshooting-Guides
- Review: Was lief gut, was muss fuer den naechsten Workload angepasst werden?
Kosten: Was ist realistisch?
Die Kosten haengen stark davon ab, ob on-premise oder managed Cloud gewaehlt wird. Eine grobe Orientierung fuer einen mittleren Stadtwerk-Cluster:
| Posten | On-Premise (Jahr 1) | Managed Cloud (Jahr 1) |
|---|---|---|
| Hardware (6-8 Server) | 40.000 - 80.000 EUR | entfaellt |
| Cloud-Compute (equiv.) | entfaellt | 30.000 - 60.000 EUR |
| Storage (Ceph / managed) | 10.000 - 20.000 EUR | 12.000 - 25.000 EUR |
| Schulung Team (3-5 Personen) | 15.000 - 25.000 EUR | 15.000 - 25.000 EUR |
| Externe Beratung (Setup) | 20.000 - 40.000 EUR | 10.000 - 25.000 EUR |
| Betrieb (Personal anteilig) | 30.000 - 50.000 EUR | 20.000 - 35.000 EUR |
Ab dem zweiten Jahr sinken die Kosten deutlich, da Schulung und Setup entfallen. Die Einsparungen durch hoehere Ressourcenauslastung (weniger Server), schnellere Deployments (weniger Personalaufwand) und weniger Ausfaelle machen sich ab Monat 12-18 bemerkbar.
Detaillierte Vergleichsrechnung: Kubernetes Hosting Kosten: Cloud vs. On-Premise.
Typische Stolpersteine
Storage unterschaetzt: Zeitreihen-Datenbanken (TimescaleDB, InfluxDB) brauchen performanten persistenten Storage. Rook-Ceph funktioniert, erfordert aber eigenes Know-how. Bei kleinen Teams kann ein NFS-Provisioner fuer den Anfang reichen.
Zu viel auf einmal migrieren: Starten Sie mit einem neuen Service, nicht mit dem ERP-System. Der Lerneffekt ist groesser, das Risiko kleiner.
Monitoring als Nachgedanke: Prometheus und Grafana gehoeren vom Tag 1 in den Cluster. Ohne Observability fliegen Sie blind.
RBAC ignoriert: "Erstmal alle als cluster-admin" ist der schnellste Weg zu einem Sicherheitsvorfall. Investieren Sie frueh in ein durchdachtes Rollenkonzept.
Fazit
Container-Plattformen mit Kubernetes sind kein Hype-Thema mehr, sondern eine pragmatische Antwort auf die IT-Anforderungen der Energiewende. Die Kombination aus zentralem Cluster und Edge-Nodes passt zur dezentralen Struktur der Energiewirtschaft. Der Einstieg muss nicht mit einem Big-Bang erfolgen -- ein fokussierter 90-Tage-Plan mit einem konkreten Pilotprojekt liefert schnelle Ergebnisse und baut internes Know-how auf.
Wenn Sie Unterstuetzung bei der Planung oder Umsetzung brauchen -- von der Architekturberatung bis zum Hands-on-Workshop -- sprechen Sie uns an unter /kontakt.
Kubernetes-Beratung gesucht?
Wir helfen deutschen Unternehmen bei der Kubernetes-Implementierung, Migration und Optimierung. DSGVO-konform und praxiserprobt.
📖 Verwandte Artikel
Weitere interessante Beiträge zu ähnlichen Themen
Kubernetes Automotive ASPICE 2026: Container für SDV und Compliance
Entdecken Sie, wie Kubernetes Automotive ASPICE 2026 Standards für die SDV-Entwicklung & Compliance revolutioniert. Effiziente Entwicklung, Tests und sichere Prozesse für OEMs in Deutschland – ein entscheidender Schritt für Kubernetes Compliance Deutschland.
BSI-Grundschutz für Kubernetes-Cluster umsetzen
BSI IT-Grundschutz für Kubernetes umsetzen: Baustein SYS.1.6 Containerisierung mit Pod Security Standards, Audit-Logging und Netzwerksegmentierung.
Container Image Signing: Sigstore und Cosign nutzen
Container Images mit Cosign und Sigstore signieren und verifizieren. Mit Kyverno-Policy unsignierte Images im Kubernetes-Cluster automatisch blockieren.
.NET-Anwendungen auf Kubernetes containerisieren
.NET- und ASP.NET-Core-Anwendungen für Kubernetes containerisieren: Multi-Stage Dockerfile, Health Checks, Kestrel-Konfiguration und komplette Manifeste.
Legacy-Modernisierung: Von VMs zu Kubernetes
Legacy-Anwendungen von VMs zu Kubernetes migrieren: Die 6 Rs der Modernisierung, Containerisierung einer 3-Tier-App und Datenbank-Strategien.