Deployment: VM, Bare Metal, Kubernetes & OpenShift
Enterprise Java muss verschiedene Betriebsumgebungen erklären können: VM, Bare Metal, Kubernetes und OpenShift.
VMBare MetalKubernetesOpenShift
In dieser Datei
Vergleich
| Ziel | Vorteil | Risiko |
|---|---|---|
| VM | Bekannt, stabil, guter Einstieg | Manuelles Scaling, driftende Konfiguration |
| Bare Metal | Volle Kontrolle, Performance | Betriebsaufwand hoch |
| Kubernetes | Portabilität, Orchestrierung | Komplexität, Plattformwissen nötig |
| OpenShift | Enterprise-Plattform, Security, Operators | Lizenz/Plattformbetrieb einplanen |
VM
VMs eignen sich für klassische Enterprise-Deployments, Migrationen und Systeme mit niedriger Änderungsrate.
Bare Metal
Bare Metal ist sinnvoll, wenn Hardwarekontrolle, spezielle Latenz oder Kosteneffizienz bei hoher Auslastung wichtig sind.
Kubernetes
Kubernetes bringt Scheduling, Service Discovery, Self-Healing, Secrets, ConfigMaps und Rollouts.
OpenShift
OpenShift ergänzt Kubernetes um Enterprise-Funktionen wie Security-Konventionen, Routes, Build/Deployment-Integration, Operatoren und Plattform-Governance.
Strategie
Deployment-Grundstruktur
apiVersion: apps/v1
kind: Deployment
metadata:
name: order-service
spec:
replicas: 3
template:
spec:
containers:
- name: order-service
image: registry.example.com/order-service:1.0.0
readinessProbe:
httpGet:
path: /actuator/health/readiness
port: 8080
resources:
requests:
cpu: "250m"
memory: "512Mi"