执行`kubectl rolling-update`时pod会收到什么进程信号?
kebernetes在Google容器引擎上进行滚动更新时,我正在使用go lang进行优雅的closuresfunction。 有没有人知道当kubectl滚动更新开始时什么过程信号发送到运行的豆荚?
我听过os.Kill,os.Interrupt,syscall.SIGTERM,syscall.SIGKILL,syscall.SIGSTOP信号来处理,没有这些信号是在kubectl滚动更新时产生的。
我会很感激你的答案。
我有一个解决scheme! 我使用shell脚本文件作为ENTRYPOINT,并在该脚本文件中执行二进制文件。 因此,执行的二进制文件的进程ID不是1.(shell脚本进程的ID是1)而docker只向PID 1发送了SIGTERM(不传播给它的subprocess)。 所以,我必须直接将ENTRYPOINT改为执行二进制文件,而且现在我的代码中还有SIGTERM。 参考这个链接