Cuando disminuye la cantidad de pods en una carga de trabajo de Kubernetes, asumo que está haciendo una eliminación suave. ¿Comienza ese proceso deteniendo las conexiones entrantes? En un entorno de microservicio controlado por eventos, donde el contenedor lee el mensaje de una cola. Cuando implemento, qué sucede con el mensaje que se está procesando actualmente. ¿Deja de tomar mensajes de la cola?
Cuando disminuye la cantidad de pods en una carga de trabajo de kubernetes, asumo que está haciendo una eliminación suave.
Sí, realiza una terminación elegante , por lo que su pod recibe una señal SIGTERM , pero depende de usted implementar este manejo en la aplicación, antes de que el pod se elimine después del período de terminación elegante configurado, por defecto 30 segundos pero se puede configurar con el campo terminationGracePeriodSeconds del Pod.
En un entorno de microservicio controlado por eventos, donde el contenedor lee el mensaje de una cola. Cuando implemento, qué sucede con el mensaje que se está procesando actualmente. ¿Se deja de tomar mensajes de la cola?
Como se explicó anteriormente, su aplicación debe implementar el manejo de la señal SIGTERM y, por ejemplo, dejar de consumir nuevos mensajes de la cola. También debe configurar correctamente la terminationGracePeriodSeconds para que los mensajes se puedan procesar por completo antes de que se desaloje el pod.
Una buena explicación de esto son las mejores prácticas de Kubernetes: terminar con gracia
¿Comienza ese proceso deteniendo las conexiones entrantes?
Sí, su pod se elimina de la lista de puntos finales de Kubernetes Endpoint , por lo que debería funcionar si accede a sus pods a través de Servicios.