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
- replicas: Número de Pods deseados
- selector: Cómo identificar los Pods a gestionar
- 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