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