Sobes.tech
Junior

Was muss in einem Pod in Kubernetes enthalten sein?

sobes.tech KI

Antwort von AI

In einem Pod von Kubernetes muss sich befinden:

  • Ein oder mehrere zusammenhängende Container, die als eine Einheit arbeiten und Ressourcen gemeinsam nutzen.
  • Gemeinsame Datenspeicher (Volumes) für die Container im Pod.
  • Ein gemeinsamer Netzwerk-Stack für alle Container (gemäß der IP-Spezifikation).
  • Die Pod-Spezifikation (PodSpec-Objekt), die beschreibt, wie die Container arbeiten sollen, einschließlich:
    • Container-Images.
    • Notwendige Ressourcen (CPU, Arbeitsspeicher).
    • Offene Ports.
    • Umgebungsvariablen.
    • Gesundheitsprüfungen (Liveness- und Readiness-Probes).
    • Neustart-Politiken.

Typische Verwendung:

  • Ein Hauptanwendungs-Container.
  • Ein oder mehrere "Sidecar"-Container, die Hilfsaufgaben ausführen (Protokollierung, Überwachung, Adapter).

Beispiel für eine Pod-Spezifikation (teilweise):

# Beispiel für eine teilweise Pod-Spezifikation
apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
spec:
  containers:
  - name: main-app
    image: my-docker-repo/my-app:latest
    ports:
    - containerPort: 80
    resources:
      limits:
        cpu: "500m"
        memory: "512Mi"
  - name: log-collector
    image: my-docker-repo/log-collector:latest
    volumeMounts:
    - name: app-logs
      mountPath: /var/log/app
  volumes:
  - name: app-logs
    emptyDir: {}

Grundprinzipien:

  • Ein Pod ist die kleinste deploybare Einheit in Kubernetes.
  • Container in einem Pod teilen sich den Kernel-Namensraum (PID, UTS, IPC).
  • Skalierung erfolgt auf Pod-Ebene.
  • Ein Pod ist für die Ausführung eng verbundener Prozesse vorgesehen.