¿Qué es el periodo de gracia en un POD?

 El Período de Gracia de Terminación (Termination Grace Period) en Kubernetes es el tiempo que Kubernetes le otorga a un pod antes de ser finalizado por completo. Cuando un pod es marcado para ser eliminado (por ejemplo, cuando se realiza un escalado hacia abajo o un kubectl delete pod), Kubernetes le da al contenedor un tiempo para que realice una terminación ordenada, en lugar de finalizarlo de inmediato.

Detalles del proceso de terminación:

  1. Señal SIGTERM: Cuando un pod es eliminado, Kubernetes envía primero una señal SIGTERM a los procesos dentro del contenedor. Esta señal permite a las aplicaciones manejar su propia finalización, cerrando conexiones abiertas, liberando recursos, y guardando datos si es necesario.

  2. Período de Gracia: El período de gracia es el tiempo que Kubernetes espera para que el contenedor finalice de manera ordenada. En tu caso, el período de gracia es de 30 segundos.

  3. Señal SIGKILL: Si después del período de gracia el pod no ha terminado, Kubernetes envía una señal SIGKILL, lo que finaliza inmediatamente el contenedor sin darle más tiempo para completar ninguna tarea pendiente.

  4. Modificación del Período de Gracia: El período de gracia predeterminado es de 30 segundos, pero puede ser ajustado en los manifiestos del pod o al eliminar un pod con kubectl delete pod <pod-name> --grace-period=<segundos>.

Ejemplo en el manifiesto de un pod:

Si quisieras modificar el período de gracia para un pod, podrías hacerlo en el manifiesto YAML del pod:

spec: terminationGracePeriodSeconds: 60

En este caso, Kubernetes esperaría 60 segundos antes de enviar el SIGKILL si el pod no ha terminado después de la señal SIGTERM.

El período de gracia es importante porque asegura que los pods tengan tiempo suficiente para realizar una limpieza adecuada antes de ser finalizados, minimizando la pérdida de datos o interrupciones.

Comentarios