Sobes.tech
Junior

Kann in einem Pod mehrere Container enthalten sein?

sobes.tech KI

Antwort von AI

Ja, das ist möglich. Es ist eine gängige Praxis in Kubernetes.

Mehrere Container in einem Pod teilen sich in der Regel Ressourcen (Speicherplatz, Netzwerkschicht) und werden häufig für Hilfsaufgaben neben dem Hauptanwendungscontainer (Sidecar-Muster) verwendet.

Anwendungsbeispiele:

  • Sidecar-Container: Überwachung, Protokollierung, Service-Mesh-Proxy (z.B. Envoy).
  • Botschafter-Container: Proxy für den Zugriff auf externe Dienste.
  • Adapter-Container: Normalisierung der Ausgabe von Hilfsprozessen.

Container in einem Pod werden immer auf demselben Knoten geplant und verwenden denselben Namespace für IPC (Interprozesskommunikation), was die Interaktion ermöglicht.

Beispiel für ein Pod-Manifest mit zwei Containern (Hauptanwendung nginx und Sidecar-Container für Protokollierung):

// apiVersion - Version der Kubernetes-API
apiVersion: v1
// kind - Objekttyp (in diesem Fall Pod)
kind: Pod
// metadata - Metadaten des Pods (Name, Labels usw.)
metadata:
  name: multi-container-pod
spec:
  // containers - Liste der Container im Pod
  containers:
    // Erster Container - Hauptanwendung (nginx)
    - name: main-app
      image: nginx:latest
      ports:
        // Port 80 freigeben
        - containerPort: 80
    // Zweiter Container - Sidecar für Protokollierung (fiktives Beispiel)
    - name: log-sidecar
      image: busybox:latest
      args:
        // Endlosschleife zur Simulation der Protokollierung
        - /bin/sh
        - -c
        - while true; do echo "Logging from sidecar..."; sleep 5; done