Saltar al contenido principal

Capítulo 3.1 - Introducción a los Pods

Objetivos de Aprendizaje​

Al final de este capítulo, usted será capaz de:

  • Comprender qué es un Pod
  • Explicar por qué existen los Pods
  • Distinguir los Pods de los contenedores
  • Comprender los casos de uso de Pods multi-contenedor

¿Qué es un Pod?​

Un Pod es la unidad desplegable más pequeña en Kubernetes. Es un grupo de uno o más contenedores que comparten:

  • La misma dirección IP
  • El mismo namespace de red
  • Los mismos volúmenes (almacenamiento)
  • El mismo namespace IPC

¿Por qué los Pods?​

Abstracción sobre los Contenedores​

Kubernetes no gestiona directamente los contenedores, sino los Pods:

Ventajas:

  • Gestión de grupos de contenedores
  • Compartición de recursos
  • Coherencia de red

Pods de un solo contenedor​

La mayoría de los Pods contienen un solo contenedor:

apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.20

Pods Multi-Contenedor​

Un Pod puede contener varios contenedores que trabajan juntos:

Caso de Uso: Patrón Sidecar​

apiVersion: v1
kind: Pod
metadata:
name: app-with-logger
spec:
containers:
- name: app
image: my-app:1.0
- name: logger
image: fluentd:latest

Ejemplos de sidecars:

  • Logging (Fluentd, Logstash)
  • Monitoreo (Prometheus exporter)
  • Proxy (Envoy, nginx)
  • Sincronización de archivos

Comunicación entre contenedores dentro de un Pod​

Los contenedores en un Pod se comunican a través de localhost:

Ejemplo:

# Dentro del contenedor 1
curl http://localhost:8080 # Se comunica con el contenedor 2

Volúmenes Compartidos​

Los contenedores en un Pod comparten los volúmenes:

apiVersion: v1
kind: Pod
metadata:
name: shared-volume-pod
spec:
containers:
- name: writer
image: busybox
volumeMounts:
- name: shared-data
mountPath: /data
- name: reader
image: busybox
volumeMounts:
- name: shared-data
mountPath: /data
volumes:
- name: shared-data
emptyDir: {}

Resumen​

En este capítulo, usted ha aprendido:

Pod: Unidad desplegable más pequeña, grupo de contenedores
Recursos compartidos: IP, red, volúmenes, IPC
Pods de un solo contenedor: Caso más común
Pods multi-contenedor: Para sidecars y contenedores colaborativos
Comunicación: Vía localhost entre contenedores de un mismo Pod


Próximos Pasos​

Ahora que usted comprende los Pods:

Capítulo 3.2: Declaración YAML de los Pods
Lab 3.1: Creación y Gestión de Pods


Capítulo creado el: Diciembre 2024