Sobes.tech
Middle

¿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