byteNative
Cloud & DevOps

Kubernetes

Orchestrierung containerisierter Workloads, skalierbar und selbstheilend.

Was ist Kubernetes?

Kubernetes orchestriert containerisierte Anwendungen, skaliert sie je nach Last automatisch und ersetzt ausgefallene Instanzen selbstständig. Du beschreibst den Zielzustand deklarativ, und das System arbeitet beständig darauf hin, ihn herzustellen und zu halten. Es ist mächtig und entsprechend anspruchsvoll, dafür aber außerordentlich robust und überall verfügbar, vom eigenen Rechenzentrum bis zu jeder großen Cloud. Diese Portabilität ist einer der Gründe, warum es zum De-facto-Standard geworden ist.

Mehr in der Dokumentation

Wofür wir es nutzen

Wir setzen Kubernetes ein, wenn deine Anwendungen zuverlässig und elastisch über viele Server hinweg laufen müssen, ohne dass nachts jemand aufstehen muss. Sobald mehrere Dienste zusammenspielen, einzeln skalieren und sich selbst heilen sollen, spielt es seine Stärke aus. Für eine einzelne kleine App ist es meist zu viel, deshalb wählen wir es bewusst und nicht reflexhaft.

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3
  selector:
    matchLabels: { app: web }
  template:
    metadata:
      labels: { app: web }
    spec:
      containers:
        - name: web
          image: registry.example.com/web:1.4.0
          resources:
            limits: { cpu: "500m", memory: "256Mi" }
ein deployment mit ressourcen-limits

Gut zu wissen

Ohne Ressourcen-Limits und Liveness-Probes verschenkst du den halben Wert von Kubernetes. Erst wenn jeder Pod sagt, wie viel er braucht und wann er gesund ist, kann das System sinnvoll planen und ausgefallene Instanzen wirklich ersetzen.

00Cloud & DevOps

Weitere Werkzeuge, mit denen wir im selben Bereich arbeiten.

Welche Technologie passt zu dir?

Das musst du nicht entscheiden, das ist unser Job. Erzähl uns einfach von deinem Vorhaben.