Container-Plattform / Framework

Kubernetes und OpenShift als Enterprise-Plattform

Kubernetes stellt deklarative Orchestrierung bereit; OpenShift ergänzt Enterprise-Funktionen wie integrierte Entwickler- und Betriebsfeatures, Security-Modelle und Plattform-Workflows.

Diagramm

Grundmodell

Ein Kubernetes-Cluster besteht aus Control Plane und Worker Nodes. Die Control Plane entscheidet und speichert Zustand; Nodes führen Pods aus.

OpenShift-Einordnung

OpenShift baut auf Kubernetes auf und ergänzt Produktfunktionen für Enterprise-Betrieb: integrierte Routes, Registry- und Build-Konzepte, Operatoren, Security-Konventionen, Web Console und Day-2-Dokumentation.

Plattform statt Server

Teams bestellen nicht mehr einzelne Server, sondern Namespaces, Quotas, Policies, Pipelines, Observability und Betriebsregeln.

Deklarativer Zielzustand

Man beschreibt gewünschte Objekte. Controller gleichen Ist und Soll ab. Das ist mächtig, aber Fehler propagieren ebenfalls automatisch, wenn Manifeste falsch sind.

Ausführliche Beispiele

Namespace mit Quota

apiVersion: v1
kind: Namespace
metadata:
  name: orders-prod
  labels:
    environment: prod
    owner: order-platform-team
    cost-center: sales-it
    security-tier: restricted
---
apiVersion: v1
kind: ResourceQuota
metadata:
  name: orders-prod-quota
  namespace: orders-prod
spec:
  hard:
    requests.cpu: "20"
    requests.memory: 80Gi
    limits.cpu: "40"
    limits.memory: 160Gi
    pods: "120"

Deployment mit Readiness/Liveness

apiVersion: apps/v1
kind: Deployment
metadata:
  name: order-api
  namespace: orders-prod
spec:
  replicas: 3
  selector:
    matchLabels:
      app: order-api
  template:
    metadata:
      labels:
        app: order-api
    spec:
      containers:
        - name: app
          image: registry.company.example/orders/order-api:1.8.4
          ports:
            - containerPort: 8080
          readinessProbe:
            httpGet:
              path: /actuator/health/readiness
              port: 8080
          livenessProbe:
            httpGet:
              path: /actuator/health/liveness
              port: 8080
          resources:
            requests:
              cpu: "500m"
              memory: "768Mi"
            limits:
              cpu: "2"
              memory: "2Gi"

Typische Stolperfallen

  • Kubernetes wird als magischer Serverersatz verstanden.
  • Requests/Limits fehlen oder sind geraten.
  • Readiness prüft nicht die fachliche Betriebsfähigkeit.

Prüf- und Verständnis-Checkliste

  • Namespaces, Quotas und Policies sind standardisiert.
  • Jede Anwendung hat Health Checks und Ressourcenangaben.
  • Plattformverantwortung und App-Verantwortung sind getrennt.

Merksatz

Enterprise-Regel: Eine Infrastrukturkomponente ist erst fertig, wenn sie fachlich begründet, automatisiert, beobachtet, geschützt, dokumentiert und wiederherstellbar ist.