Saltar al contenido principal

Capítulo 3.5 - ReplicaSets

Objetivos de Aprendizaje​

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

  • Comprender el rol de los ReplicaSets
  • Crear y gestionar ReplicaSets
  • Comprender cómo los ReplicaSets mantienen el número de réplicas
  • Utilizar los ReplicaSets con los Deployments

¿Qué es un ReplicaSet?​

Un ReplicaSet mantiene un número estable de réplicas de Pods en ejecución. Garantiza que siempre haya disponible un número especificado de Pods idénticos.


¿Por qué los ReplicaSets?​

Auto-Curación​

Si un Pod falla, el ReplicaSet crea automáticamente un nuevo Pod:

Escalado​

Usted puede aumentar o disminuir fácilmente el número de réplicas.


Declaración YAML​

apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: web-replicaset
labels:
app: web
tier: frontend
spec:
replicas: 3
selector:
matchLabels:
app: web
tier: frontend
template:
metadata:
labels:
app: web
tier: frontend
spec:
containers:
- name: nginx
image: nginx:1.20
ports:
- containerPort: 80

Secciones Importantes​

  1. replicas: Número de Pods deseados
  2. selector: Cómo identificar los Pods a gestionar
  3. template: Plantilla para crear nuevos Pods

Selector y Labels​

Importante: Los labels en selector.matchLabels deben coincidir con los labels en template.metadata.labels.


Gestión de ReplicaSets​

Crear un ReplicaSet​

# Desde un archivo YAML
kubectl apply -f replicaset.yaml

# Crear y ver el YAML
kubectl create replicaset web-rs --image=nginx:1.20 --replicas=3 --dry-run=client -o yaml

Escalado​

# Modificar el número de réplicas
kubectl scale replicaset web-replicaset --replicas=5

# O editar directamente
kubectl edit replicaset web-replicaset

Eliminar​

# Eliminar el ReplicaSet (los Pods también)
kubectl delete replicaset web-replicaset

# Eliminar solo el ReplicaSet (mantener los Pods)
kubectl delete replicaset web-replicaset --cascade=orphan

ReplicaSets vs Deployments​

ReplicaSets (Bajo Nivel)​

  • Gestionan directamente los Pods
  • Sin gestión de versiones
  • Sin rolling updates

Deployments (Alto Nivel)​

  • Gestionan los ReplicaSets
  • Gestión de versiones
  • Rolling updates y rollbacks
  • Recomendado para la mayoría de los casos

Resumen​

En este capítulo, usted ha aprendido:

ReplicaSet: Mantiene un número estable de Pods idénticos
Auto-curación: Crea automáticamente nuevos Pods si es necesario
Escalado: Fácilmente ajustable
Selector: Identifica los Pods a gestionar
Deployments: Utilizan ReplicaSets con funcionalidades avanzadas


Próximos Pasos​

Ahora que usted comprende los ReplicaSets:

Capítulo 3.6: Deployments - Gestión Avanzada
Lab 3.2: Despliegue con ReplicaSets


Capítulo creado el: Diciembre 2024