Proceso de terminación de pods de Kubernetes con múltiples contenedores.
Tengo un pod de múltiples contenedores en k8s, llamados A y B. Al detener el pod, A debe detenerse antes que B porque A necesita a B hasta que se apague.
Para hacer esto, registré un gancho preStop en A para que A pueda detenerse de manera adecuada antes que B.
Sin embargo, no estoy seguro de que esta sea una buena solución, porque me falta información que no puedo encontrar en la documentación de k8s:
¿Qué sucede cuando se detiene un pod de múltiples contenedores?
– Se llaman a todos los ganchos preStop de los contenedores y luego cuando todos hayan terminado, todos los contenedores reciben SIGTERM, o
– Paralelamente, todos los contenedores reciben preStop si lo tienen o directamente SIGTERM si no lo tienen.
En el segundo caso, preStop es inútil para lo que quiero hacer ya que B será asesinado instantáneamente.
davy.ai
Cuando se detiene un pod de varios contenedores, todos los contenedores reciben un gancho
preStop
si tienen uno, y luego todos los contenedores reciben una señalSIGTERM
. Por lo tanto, registrar un ganchopreStop
en el contenedor A es una solución válida para asegurarse de que A se detenga antes que B.