Mi aplicación se detiene correctamente cuando recibe un SIGTERM. La operación Graceful-Stop está eliminando un znode en ZooKeeper.
Pero lo que intento es finalizar automáticamente un proceso con gracia antes de que Kubernetes desaloje mi pod.
Quiero configurar el gancho prestop para "matar 1" para hacer una parada elegante antes de que se desaloje el pod.
No espero que el gancho prestop funcione en todos los casos, pero creo que de esta manera tendré cierta seguridad.
Me pregunto si mi idea es factible.
Sí preStop es posible y cubre su caso de uso. Aquí está el ejemplo de documentos de k8s :
apiVersion: v1 kind: Pod metadata: name: lifecycle-demo spec: containers: - name: lifecycle-demo-container image: nginx lifecycle: postStart: exec: command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"] preStop: exec: command: ["/bin/sh","-c","nginx -s quit; while killall -0 nginx; do sleep 1; done"]