Introducción
Kubernetes es un sistema de código abierto creado para orquestar, escalar e implementar aplicaciones en contenedores. Si ha pasado algún tiempo trabajando con Kubernetes, sabe lo útil que es para administrar contenedores.
También sabrá que los contenedores no siempre funcionan como deberían. Si aparece un error, necesita una forma rápida y fácil de solucionar el problema.
Este tutorial explicará cómo reiniciar pods en Kubernetes.
Requisitos previos
- Acceso a una ventana de terminal/línea de comando
- Un clúster de Kubernetes
- La herramienta de línea de comandos kubectl de Kubernetes
Reinicio de pods de Kubernetes
Supongamos que uno de los pods de su contenedor informa un error. Según la política de reinicio, Kubernetes podría intentar reiniciar automáticamente el pod para que vuelva a funcionar. Sin embargo, eso no siempre soluciona el problema.
Si Kubernetes no puede solucionar el problema por sí solo y no puede encontrar el origen del error, reiniciar el pod es la forma más rápida de hacer que su aplicación vuelva a funcionar.
Método 1:reinicio continuo
A partir de la actualización 1.15, Kubernetes le permite reiniciar su implementación. Como una nueva incorporación a Kubernetes, este es el método de reinicio más rápido.
kubectl rollout restart deployment [deployment_name]
El comando mencionado anteriormente realiza un apagado paso a paso y reinicia cada contenedor en su implementación. Su aplicación seguirá estando disponible ya que la mayoría de los contenedores seguirán ejecutándose.
Método 2:uso de variables de entorno
Otro método es establecer o cambiar una variable de entorno para obligar a los pods a reiniciarse y sincronizarse con los cambios realizados.
Por ejemplo, puede cambiar la fecha de implementación del contenedor:
kubectl set env deployment [deployment_name] DEPLOY_DATE="$(date)"
En el ejemplo anterior, el comando set env
configura un cambio en las variables de entorno, deployment [deployment_name]
selecciona su implementación y DEPLOY_DATE="$(date)"
cambia la fecha de implementación y fuerza el reinicio del pod.
Método 3:escalar el número de réplicas
Finalmente, puedes usar la scale
Comando para cambiar cuántas réplicas del pod que funciona mal hay. Establecer esta cantidad en cero esencialmente apaga el pod:
kubectl scale deployment [deployment_name] --replicas=0
Para reiniciar el pod, use el mismo comando para establecer el número de réplicas en cualquier valor mayor que cero:
kubectl scale deployment [deployment_name] --replicas=1
Cuando establece el número de réplicas en cero, Kubernetes destruye las réplicas que ya no necesita.
Una vez que establece un número superior a cero, Kubernetes crea nuevas réplicas. Las nuevas réplicas tendrán nombres diferentes a los antiguos. Puede usar el comando kubectl get pods
para verificar el estado de los pods y ver cuáles son los nuevos nombres.