Version 4 · Migration

OpenShift-Manifeste und Betrieb

Aus der Anwendung wird ein betreibbares OpenShift-Artefakt mit Deployment, Service, Route, Ressourcen, Probes, Volumes und Betriebsregeln.

Migration-ÜbersichtStartseite
Was ein vollständiges Manifest leisten muss

Ein Manifest ist mehr als ein Deployment. Für Enterprise-Betrieb gehören Service, Route/Ingress, Config, Secret, Ressourcenlimits, Probes, Volumes, ServiceAccount, NetworkPolicy, RBAC und gegebenenfalls HPA oder CronJob dazu.

Manifest-Bausteine
BausteinRolle
DeploymentReplicaSet, Rolling Update, Pod Template, Ressourcen, Probes.
ServiceStabile interne Adresse für Pods.
RouteOpenShift-spezifischer externer Zugriff mit TLS-Termination.
ConfigMap/SecretUmgebungsspezifische Parameter und geheime Werte.
NetworkPolicyKommunikationsgrenzen explizit machen.
HPASkalierung nach Metriken, wenn Anwendung horizontal skalierbar ist.
CronJobBatch-/Scheduler-Modernisierung für zeitgesteuerte Jobs.
Deployment-Beispiel
OpenShift YAML - zentraler Betriebsbaustein
apiVersion: apps/v1
kind: Deployment
metadata:
  name: billing-modern-api
  labels:
    app: billing-modern-api
spec:
  replicas: 2
  selector:
    matchLabels:
      app: billing-modern-api
  template:
    metadata:
      labels:
        app: billing-modern-api
    spec:
      containers:
        - name: app
          image: image-registry.openshift-image-registry.svc:5000/legacy-v4/billing-modern-api:1.0.0
          ports:
            - containerPort: 8080
          envFrom:
            - configMapRef:
                name: billing-config
            - secretRef:
                name: billing-secrets
          readinessProbe:
            httpGet:
              path: /q/health/ready
              port: 8080
            initialDelaySeconds: 10
            periodSeconds: 10
          livenessProbe:
            httpGet:
              path: /q/health/live
              port: 8080
            initialDelaySeconds: 30
            periodSeconds: 20
---
apiVersion: v1
kind: Service
metadata:
  name: billing-modern-api
spec:
  selector:
    app: billing-modern-api
  ports:
    - name: http
      port: 8080
      targetPort: 8080
---
apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: billing-modern-api
spec:
  to:
    kind: Service
    name: billing-modern-api
  port:
    targetPort: http
  tls:
    termination: edge
⌂ Cockpit