Sobes.tech
Junior

¿Puede haber varios contenedores en un solo pod?

sobes.tech AI

Respuesta de la IA

Sí, puede. Es una práctica común en Kubernetes.

Varios contenedores en un pod generalmente comparten recursos (espacio de almacenamiento, pila de red) y a menudo se utilizan para realizar tareas auxiliares junto al contenedor principal de la aplicación (patrón Sidecar).

Ejemplos de uso:

  • Contenedores Sidecar: Monitoreo, registro, proxy de malla de servicios (por ejemplo, Envoy).
  • Contenedores Embajador: Proxy para acceder a servicios externos.
  • Contenedores Adaptador: Normalización de la salida de procesos auxiliares.

Los contenedores en un pod siempre se programan en un mismo nodo y utilizan el mismo namespace para IPC (interprocesos), lo que les permite interactuar entre sí.

Ejemplo de manifiesto de un pod con dos contenedores (aplicación principal nginx y contenedor sidecar para registro):

// apiVersion - versión de la API de Kubernetes
apiVersion: v1
// kind - tipo de objeto (en este caso, Pod)
kind: Pod
// metadata - metadatos del pod (nombre, etiquetas, etc.)
metadata:
  name: multi-container-pod
spec:
  // containers - lista de contenedores dentro del pod
  containers:
    // Primer contenedor - aplicación principal (nginx)
    - name: main-app
      image: nginx:latest
      ports:
        // exponer puerto 80
        - containerPort: 80
    // Segundo contenedor - sidecar para registro (ejemplo ficticio)
    - name: log-sidecar
      image: busybox:latest
      args:
        // ciclo infinito para simular registro
        - /bin/sh
        - -c
        - while true; do echo "Logging from sidecar..."; sleep 5; done