viernes, 1 de enero de 2021

Truco Kubernetes - 3 métodos para reiniciar tus pods

Digamos que uno de los pods de tu cluster está reportando un error. Dependiendo de las políticas de reinicio, Kubernetes podría intentar reiniciar automáticamente el pod y hacerlo funcionar de nuevo. Sin embargo, esto no siempre soluciona el problema.

Si K8s no puede arreglar el problema por si mismo, y no podemos encontrar el origen del error de manera inmediata, reiniciar el pod es la manera mas rápida de hacer que tu aplicación funcione de nuevo.

logo kubernetes

Podrás pensar que una solución es volver a arrancar el ciclo CI/CD de esa aplicación (si lo tienes), pero este puede ser un proceso mas lento de lo deseable y, en cualquier caso, no solucionaría el problema de base, así que a continuación te muestro 3 métodos para reiniciar rápidamente tus pods.

Método 1: Rolling Restart

Este es el método más rápido. Está disponible desde la 1.15 y consiste en decirle a tu K8s que reinicie un deploy concreto.

kubectl rollout restart deployment [deployment_name]
Kubectl rollout restart

Método 2: Utilizando variables de entorno

Otro método es establecer o modificar una variable de entorno para forzar el reinicio del pod y la sincronización de los cambios que has realizado

Por ejemplo, puedes cambiar la fecha de despliegue (deployment date)

kubectl set env deployment [deployment_name] DEPLOY_DATE="$(date)"
kubectl set env

Método 3: Escalar el número de replicas

Por último podemos usar el comando scale para cambiar el numero de replicas del pod con problemas. Establecerlo a 0 básicamente "apaga" el pod.

kubectl scale deployment [deployment_name] --replicas=0

Posteriormente podemos aumentar este número de replicas para hacer que el pod se arranque de nuevo.

kubectl scale deployment [deployment_name] --replicas=1
kubectl scale deployment

En conclusión

Kubernetes es un sistema extremadamente útil, pero como cualquier otro sistema, no está libre de fallos.

Cuando ocurren problemas, puedes utilizar uno de los tres métodos enumerados anteriormente para que tu aplicación funcione de manera rápida y segura sin cerrar el servicio para los clientes.

Después de reiniciar los pods, tendrás tiempo para encontrar y solucionar la verdadera causa del problema.

¿conoces algún otro método para reiniciar los pods? Compártelo aquí debajo junto con cualquier duda que te surja.

Compartir:

0 comentarios:

Publicar un comentario

Con la tecnología de Blogger.

BoosterBlog

BoosterBlog
BoosterBlog

Timeline Twitter

Seguidores

Seguidores