Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-themen:grundlagen:netzwerkdienste:kubernetes

**Dies ist eine alte Version des Dokuments!**

zurĂŒck

Kubernetes – Grundlagen (Pods, Nodes, Deployments, Services, Ingress)

Kubernetes (oft „K8s“ genannt) ist ein System zur Orchestrierung von Containern.
Es verwaltet automatisch:

  • Deployment (Bereitstellung) von Containern
  • Skalierung (mehr Container starten)
  • Self-Healing (Neustart bei Fehlern)
  • Updates ohne Ausfall
  • Netzwerk zwischen Containern
  • Storage fĂŒr Container

Kubernetes ist der Standard in modernen Cloud-, DevOps- und CI/CD-Umgebungen.


1. Warum Kubernetes?

Docker allein startet Container – Kubernetes betreibt ganze Systeme.

Vorteile:

  • automatische Skalierung
  • Ausfallsicherheit
  • Rollout / Rollback von Updates
  • Lastverteilung
  • Cluster ĂŒber viele Server hinweg
  • Self-Healing: Container werden automatisch ersetzt

Perfekt fĂŒr:

  • große Webplattformen
  • Microservices
  • APIs
  • Clouddienste
  • Enterprise-Infrastruktur

2. Kubernetes Architektur – Überblick

Kubernetes besteht aus zwei Bereichen:

  • Control Plane – steuert das Cluster
  • Worker Nodes – fĂŒhren Container aus

ASCII-Übersicht:

         +---------------------+
         |    Control Plane    |
         | API Server          |
         | Scheduler           |
         | Controller Manager  |
         +---------------------+
                   |
                   |
       +-----------+------------+
       |                        |
+-------------+         +--------------+
| Worker Node |         | Worker Node  |
| Kubelet     |         | Kubelet      |
| Container   |         | Container    |
| Runtime     |         | Runtime      |
+-------------+         +--------------+

3. Die wichtigsten Kubernetes-Objekte

Kubernetes arbeitet mit sogenannten Ressourcen oder Objekten.

Die wichtigsten:

  • Pod
  • Deployment
  • Service
  • Ingress
  • ConfigMap
  • Secret
  • PersistentVolume (PV)
  • PersistentVolumeClaim (PVC)

4. Pod

Der Pod ist die kleinste Einheit in Kubernetes.

Ein Pod enthÀlt:

  • einen oder mehrere Container
  • gemeinsame IP-Adresse
  • gemeinsames Volume

Die Container in einem Pod sind eng gekoppelt.

ASCII:

Pod
 ├── Container 1 (z. B. Webserver)
 └── Container 2 (z. B. Log-Exporter)

Pods sind flĂŒchtig – sie werden stĂ€ndig ersetzt.
Deshalb nutzt man Deployments, nicht einzelne Pods.


5. Deployment

Ein Deployment steuert, wie viele Pods laufen und wie sie aktualisiert werden.

Funktionen:

  • Skalieren (mehr/weniger Pods)
  • automatische Neustarts
  • Rolling Updates (ohne Downtime)
  • Rollbacks bei Fehlern

Beispiel YAML:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: webapp
spec:
  replicas: 3
  template:
    spec:
      containers:
        - name: app
          image: nginx

Dieses Deployment startet 3 Pods mit Nginx.


6. Service

Pods haben dynamische IPs – ein Service sorgt fĂŒr stabile Erreichbarkeit.

Arten:

  • ClusterIP → nur intern erreichbar
    • NodePort → von außen ĂŒber hohen Port erreichbar
      * LoadBalancer → Cloud-Loadbalancer automatisch
      * ExternalName → Alias zu externem DNS-Namen

    ASCII:

Clients → Service → verteilt Traffic → mehrere Pods

Service = Kubernetes Loadbalancer.


7. Ingress

Ingress ist ein Reverse Proxy / Loadbalancer auf Layer 7 fĂŒr HTTP/HTTPS.

Beispiel:

Ingress-Controller (du kennst das 😉):

  • Traefik
  • Nginx Ingress
  • HAProxy
  • Istio Gateway

ASCII:

Client → Ingress → Service → Pods

Ingress ermöglicht:

  • Routing nach Hostname/URL
  • TLS-Zertifikate
  • Load Balancing
  • Middlewares

8. ConfigMaps & Secrets

ConfigMap

Konfigurationen (Text).

env: APP_MODE=production

Secret

Passwörter / Zertifikate (Base64-kodiert, nicht verschlĂŒsselt!)

env: DB_PASSWORD=****

9. Persistenter Speicher (Storage)

Pods sind flĂŒchtig → Daten wĂŒrden verloren gehen.
Daher nutzt man PV und PVC.

PersistentVolume (PV)

das eigentliche Storage-Backend
z. B. NFS, iSCSI, Ceph, lokal

PersistentVolumeClaim (PVC)

Anfrage eines Pods nach Speicher

ASCII:

PVC (Pod) → PV → Storage (NFS/SSD/Ceph)

10. Kubernetes Netzwerk

Jeder Pod bekommt:

  • eigene IP (intern)
  • kann mit allen Pods kommunizieren (by default)

CNI-Plugins regeln das Netzwerk:

  • Calico
  • Flannel
  • Cilium (besser, modern)
  • Weave

11. Skalierung

Kubernetes kann automatisch skalieren:

Horizontal Pod Autoscaler (HPA)

z. B. starte 10 zusÀtzliche Pods wenn CPU > 70%

Vertical Autoscaler

passt CPU/RAM an

Cluster Autoscaler

startet neue Nodes in der Cloud


12. Self-Healing

Kubernetes ĂŒberwacht seine Pods:

Wenn:

  • Pod crasht
    * Node ausfÀllt
    * Container hÀngt

Dann:

  • Pod wird automatisch ersetzt
    * Deployment sorgt fĂŒr korrekte Anzahl
    * Load Balancer leitet Traffic auf gesunde Pods

—

13. Kubernetes vs Docker Compose

Funktion Docker Compose Kubernetes
———-—————-————
Deployment einfach komplex, mÀchtig
Skalierung manuell automatisch
Self-Healing nein ja
Updates manuell rolling updates
Netzwerk einfach Cluster-weite Kommunikation
Betrieb Einzelserver mehrere Nodes

Kurz: Compose = kleine Projekte
Kubernetes = Großprojekte / Enterprise


14. Beispiele aus der Praxis

Microservices

Viele kleine Dienste:

  • Auth-Service
    * Payment-Service
    * User-Service

Cloud-Apps

Kubernetes ist Grundlage von:

  • Google Cloud
    * Azure AKS
    * AWS EKS

Home-Lab

Mini-Kubernetes mit:

  • k3s
    * MicroK8s
    * kind

—

Zusammenfassung

  • Kubernetes orchestriert Container automatisiert
    • Pod = kleinste Einheit
      * Deployment = steuert Pods, Updates, Skalierung
      * Service = Load Balancer fĂŒr Pods
      * Ingress = HTTP/HTTPS Reverse Proxy
      * PV/PVC = persistenter Speicher
      * Kubernetes = Standard fĂŒr moderne Cloud-Anwendungen
it-themen/grundlagen/netzwerkdienste/kubernetes.1764852027.txt.gz · Zuletzt geÀndert: von lars