OpenShift Produktionsarchitektur für Java Enterprise
Namespaces, Routes, Services, DeploymentConfig/Deployment, ConfigMaps, Secrets, HPA und Betriebsgrenzen.
OpenShiftKubernetesProductionTopology
Produktionsschnitt
OpenShift ist nicht nur ein Ort für Pods. Entscheidend sind Namespaces, Ressourcenlimits, Probes, Routes, Secrets, Network Policies, Operators und Betriebsprozesse.
Java im Container
Heap, Metaspace, Threadanzahl, CPU Limits und GC müssen zusammen betrachtet werden. Falsche Limits erzeugen OOMKills oder schlechte Latenz.
Deployment
OpenShift Deployment Beispiel
apiVersion: apps/v1 kind: Deployment metadata: name: order-service spec: replicas: 3 selector: matchLabels: { app: order-service } template: metadata: labels: { app: order-service } spec: containers: - name: app image: registry.example.com/order-service:1.0.0 ports: [{ containerPort: 8080 }] envFrom: - configMapRef: { name: order-service-config } - secretRef: { name: order-service-secrets } readinessProbe: httpGet: { path: /actuator/health/readiness, port: 8080 } livenessProbe: httpGet: { path: /actuator/health/liveness, port: 8080 } resources: requests: { cpu: "250m", memory: "512Mi" } limits: { cpu: "1000m", memory: "1024Mi" }
Praxisübertragung auf das V4-Beispielprojekt
Entscheidung
Dokumentiere die getroffene Architekturentscheidung als ADR, inklusive Alternativen, Folgen und Betriebsrisiken.
Code-Nachweis
Markiere verwendete Entwurfsmuster direkt im Code und ergänze sie in docs/design-patterns.md.
Betrieb
Definiere Metrik, Alert, Runbook-Schritt und Rollback-Option für diesen Bereich.
Typische Fehlerbilder
- Framework-Feature wird eingesetzt, ohne fachliche Grenze zu verstehen.
- Technische Wiederholung wird nicht idempotent gemacht.
- Observability wird erst nach Produktionsproblem ergänzt.
- Tests prüfen nur Happy Path und keine Wiederanläufe.