¿Qué es un conjunto de réplicas y un despliegue?
sobes.tech AI
Respuesta de la IA
La ReplicaSet garantiza un número específico de pods idénticos que funcionan en el clúster. Monitorea el estado de los pods y reemplaza automáticamente aquellos que han fallado o dejado de funcionar.
El Deployment se proporciona sobre la ReplicaSet. Gestiona las actualizaciones y retrocesos de las aplicaciones, manteniendo un historial de versiones del deployment. Permite realizar actualizaciones mediante la estrategia de rolling update o recreate.
# Ejemplo de manifiesto de Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # Define la cantidad deseada de pods (a través de ReplicaSet)
selector:
matchLabels:
app: nginx
strategy:
type: RollingUpdate # Estrategia de actualización
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2 # Versión de la imagen que se actualizará
ports:
- containerPort: 80
En este ejemplo, Deployment creará un ReplicaSet que mantendrá 3 pods con la imagen nginx:1.14.2. Al cambiar la versión de la imagen en el manifiesto del Deployment, creará un nuevo ReplicaSet para la nueva versión y gradualmente dirigirá el tráfico hacia él, eliminando los pods antiguos según la estrategia de RollingUpdate.
Tabla comparativa:
| Oportunidad | ReplicaSet | Deployment |
|---|---|---|
| Garantía del número de pods | ✅ | ✅ |
| Actualización de aplicaciones | ❌ | ✅ |
| Reversión de versiones | ❌ | ✅ |
| Gestión del historial | ❌ | ✅ |