# Kubernetes ReplicaSet: monitorización automática de pods

Los ReplicaSets en Kubernetes son una solución fiable y muy flexible para gestionar **aplicaciones de contenedores**. Puedes definir el número de pods idénticos y los contenedores que contienen con los archivos YAML.

## ¿Qué son los ReplicaSets en Kubernetes?

Los ReplicaSets son un recurso central en Kubernetes que se encarga de gestionar pods idénticos. Su objetivo principal es mantener constante el número deseado de copias de un pod. Los ReplicaSets **controlan continuamente el estado de los pods** e inician automáticamente el escalado. Dependiendo de la configuración, inician nuevos pods o terminan los sobrantes.

Consejo Orquesta los clústeres con Kubernetes fácilmente con la [Cloud Empresarial de IONOS](https://www.ionos.es/cloud-empresarial "Cloud Empresarial de IONOS"). Obtendrás la última tecnología de infraestructura como servicio (IaaS) y soluciones adaptadas a tu proyecto.

## Crear ReplicaSets en Kubernetes

Para operar ReplicaSets, necesitas un clúster **Kubernetes** en funcionamiento, ya sea localmente en tu sistema de desarrollo (como Minikube) o en un entorno de producción. En este [tutorial de Kubernetes](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/tutorial-de-kubernetes/) te explicamos la configuración en detalle. Asegúrate de que *Kubeconfig* está configurado correctamente para comunicarse con el clúster. Si es así, podrás empezar a configurar el ReplicaSet.

### Abre el editor de texto

Crea y abre un archivo **YAML** con tu editor de texto o entorno de desarrollo integrado (IDE) favorito.

```shell
vim replicaset.yaml
```

### Configura el archivo YAML

Dentro del editor, define la configuración YAML para tu ReplicaSet.

```yaml
apiVersion: apps/v1 
kind: ReplicaSet 
metadata: 
    name: new_replicaset 
spec: 
    replicas: 3 
    selector: 
        matchLabels: 
            app: app 
    template: 
        metadata: 
            labels: 
                app: app 
        spec: 
            containers: 
            - name: container 
                image: container-image:latest
```

Personaliza los nombres y las imágenes según tu aplicación y guarda el archivo.

### Activa el ReplicaSet en Kubernetes

Utiliza el siguiente comando para aplicar la configuración de tu archivo YAML al clúster de Kubernetes:

```shell
$kubectl create -f replicaset.yaml
```

### Comprueba el estado del ReplicaSet

Comprueba el estado del ReplicaSet en Kubernetes para asegurarte de que se ha activado correctamente.

```shell
kubectl get replicasets new_replicaset
```

Deberías ver un resultado que muestre tu nuevo ReplicaSet con el número deseado de réplicas.

```shell
NAME                  DESIRED   CURRENT   READY   AGE 
new_replicaset           3         3        3     1m
```

- **NAME**: nombre del conjunto de réplicas.
- **DESIRED**: número deseado de réplicas especificado en el archivo YAML.
- **CURRENT**: número actual de réplicas en ejecución.
- **READY**: número de réplicas que están marcadas como “READY” y listas para el tráfico.
- **AGE**: tiempo transcurrido desde que se creó el ReplicaSet.

### Comprueba el estado de los pods

Comprueba también el estado de los pods que has creado.

```shell
kubectl get pods
```

Esto te mostrará una lista de los pods creados con información sobre su estado. Si todos los pods tienen el estado **Running** y se ha alcanzado el número deseado de réplicas, tu ReplicaSet se habrá creado y activado correctamente.

```shell
NAME                           READY       STATUS    RESTARTS    AGE 
new_replicaset-xxxx        		1/1       Running        0        1m 
new_replicaset-yyyy             1/1       Running        0        1m 
new_replicaset-zzzz             1/1       Running        0        1m
```

### Escala ReplicaSets

Si quieres cambiar el número de réplicas en tu ReplicaSet, personaliza tu archivo YAML. Establece el valor del campo `replicas` en el número deseado y guarda el archivo. A continuación, introduce el siguiente comando para sustituir el ReplicaSet existente por el **ReplicaSet actualizado** de tu archivo YAML.

```shell
kubectl replace -f replicaset.yaml
```

También puedes escalar el número de réplicas con `kubectl scale`:

```shell
kubectl scale --replicas=4-f replicaset-app.yaml
```


This is a markdown version of: [https://www.ionos.com/es-us/digitalguide/servidores/configuracion/kubernetes-replicaset/](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/kubernetes-replicaset/) for AI/LLM consumption.