Kubernetes preStop钩子sleep命令不生效问题求助
Kubernetes preStop钩子sleep命令不生效的解决办法
你的preStop钩子配置存在写法错误,导致sleep命令无法正常执行:
当前错误配置中,command字段把sleep 60作为单个字符串传入,Kubernetes会尝试寻找名为sleep 60的命令,而非调用sleep命令并传入60参数,因此钩子执行失败,Pod直接进入终止流程。
正确的配置需要将命令和参数拆分为数组的独立元素:
lifecycle: preStop: exec: command: - sleep - "60"
调整后,Kubernetes会正确执行sleep 60命令,preStop钩子会等待60秒后再继续Pod的终止流程,结合你已设置的大于60的gracefulTerminationPeriod,即可实现预期的延迟终止效果。
内容的提问来源于stack exchange,提问作者user1474111
相关产品推荐
相关产品推荐

