kubernetes Graceful shutdown
Graceful shutdownを実現する
podが終了されるフロー
preStop フックが実行される
メインのプロセスにSIGTERMsignalが送信される
アプリケーションプロセスが終了させられる
最大で各コンテナで設定されている grace period (default: 30s) 分待つ
grace period 待っても終了していないコンテナには SIGKILL signal が送信される
やること
SIGTERM に対応した Graceful shutdown をアプリケーションで実装する
preStop フックを設定する
例 15秒sleepしてから終了する
code:sh
lifecycle:
preStop:
exec:
command: "/bin/sh", "-c", "/bin/sleep 15;"
ref
https://qiita.com/superbrothers/items/3ac78daba3560ea406b2
https://pracucci.com/graceful-shutdown-of-kubernetes-pods.html