Taller Kubernetes: Trabajando con ReplicaSet
Introducción
En este taller vamos a trabajar con ReplicaSet, que es un objeto de Kubernetes que nos permite crear un conjunto de Pods idénticos. En este caso, vamos a crear un ReplicaSet que va a controlar un conjunto de Pods.
Creando un ReplicaSet
-
Creamos un fichero yaml con la descripción del recurso ReplicaSet, teniendo en cuenta los siguientes aspectos:
- Indicaremos nombres distintos para el ReplicaSet y para el contenedor de los Pods que va a controlar.
- El ReplicaSet va a crear 3 réplicas.
- La imagen que debemos desplegar es iesgn/test_web:latest.
- Indicaremos de manera adecuada una etiqueta en la especificación del Pod que vas a definir que coincida con el selector del ReplicaSet.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: test-web-replica
spec:
replicas: 3
selector:
matchLabels:
app: web-test
template:
metadata:
labels:
app: web-test
spec:
containers:
- image: iesgn/test_web:latest
name: container-test-web
- Creamos el recurso:
kubectl apply -f test-web-replica.yaml
- Comprobamos que se ha creado el ReplicaSet:
kubectl get rs,pods

- Obtenemos la información detallada del ReplicaSet:
kubectl describe rs test-web-replica

- Vamos a probar la tolerancia a fallos: Elimina uno de los 3 Pods, y comprueba que inmediatamente se ha vuelto a crear un nuevo Pod
- Obtenemos el nombre del Pod que queremos eliminar:
kubectl get pods
- Eliminamos el Pod:
kubectl delete pod test-web-replica-96tvz

- Vamos a comprobar la escalabilidad: escala el ReplicaSet para tener 6 Pods de la aplicación.
kubectl scale rs test-web-replica --replicas=6

- Elimina el ReplicaSet y comprueba que se han borrado todos los Pods.
kubectl delete rs test-web-replica
