Kubernetes Pod 程序接收关闭信号失效致使优雅关闭未触发

来盘运维菜2024-07-16 00:22:00  59

在 Kubernetes 中,倘若 Pod 里的程序接收关闭信号失效,这或许是由于程序经由 shell 脚本启动,而 shell 进程默认不会把接收到的 SIGTERM 信号传递给子进程。

针对此问题,主要的解决办法有如下两种:

其一,在脚本里,实际启动程序时添加 exec 命令:

#!/bin/bashecho startexec ./my_program

经此修改,my_program 程序将替换 shell,并且不会产生子进程。当 Kubernetes 发送 SIGTERM 信号时,接收信号的直接就是 my_program 服务,如此一来,优雅关闭便能正常触发。

其二,运用 Linux 中的 trap 命令传递信号:

#!/bin/sh ./my_program & pid="$!" _kill { echo "start closing..." kill $pid wait $pid exit 0 } trap _kill SIGTERM wait

当 Kubernetes 中的 Pod 被删除或者重新部署时,会向容器内的 shell 发送 SIGTERM 信号。鉴于在脚本中使用了 trap 命令将信号传递给 my_program 程序,进而能够触发其优雅关闭。

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/910905.html
0
随机主题
决胜局终极绝杀,希金斯再现巅峰时刻,翻袋助力单局逆转汪峰女友森林北旧照,牙齿参差不齐黑眼圈严重,与普通人没差别售价20.08万起的沃尔沃EX30, 410公里的续航有多少人买账?张鹤伦被郭德纲拒绝3回, 如果不是师娘帮助, 可能还在做保安因“孩子随父姓”被群嘲, papi酱的回应很霸气, 网友看完拍手叫好三国杀:这才是真正的毒绣,以前我们都错了火箭的控球简直是登峰造极,乱局长台精准入手,面对高难度局面彻底是杀疯了2024年暑期档,《封神2》缺席,《哪吒2》来袭,成龙对决谢霆锋浙江省生物多样性保护优秀案例公布 | “象山县全民守护中华凤头燕鸥”案例成功入选梦幻西游:安东1093神器扇加盟夫子庙,曲阜冲2000万战神冷门英雄扁鹊的重生, 体验服迎来全面增强评赵丽颖杨幂<青蛇>定妆照争议内蒙古打掉一个网络水军团伙, 13人获刑搞笑配音:老美对日本提供核武器,没想到竟然要收三十亿保护费乐道L60开启预售, 起售价为21.99万元最新消息!坠机事故真相曝光?中俄火速表明态度,伊朗迎来了强援1950年毛岸英牺牲, 9年后罗瑞卿密电任荣: 主席有一项任务交给你加斯佩里尼, 66岁老帅的逆袭5.23周四竞彩推荐: 杜塞尔多夫 前进之鹰 鹿特丹斯巴达 3串1KPL春季赛最佳阵容有变? AG300W卖壶神, KPL大瓜: 九尾不打夏季赛美国涨新能源车关税因为拆了海鸥?中国新能源车崛起老美挡不住
最新回复(0)