💡
原文英文,约400词,阅读约需2分钟。
📝
内容提要
在Kubernetes中,删除Pod时首先发送SIGTERM请求以优雅关闭,允许清理任务。若超时,则发送SIGKILL强制停止。删除过程包括API Server更新ETCD、通知Kubelet、移除服务端点及执行PreStop Hook,最终Pod被标记为已删除。
🎯
关键要点
- 使用kubectl delete pod命令删除Pod时,首先发送SIGTERM请求以优雅关闭Pod。
- SIGTERM允许Pod完成任务并进行清理,而SIGKILL则强制立即停止Pod,不进行清理。
- 删除Pod的过程包括API Server更新ETCD、通知Kubelet、移除服务端点及执行PreStop Hook。
- Kubelet在发送SIGTERM之前会运行PreStop Hook,以允许Pod执行自定义任务。
- Pod在默认的删除宽限期(30秒)内进行优雅关闭,处理正在进行的任务。
- 如果Pod在宽限期内未能终止,则发送SIGKILL强制停止Pod。
- API Server更新ETCD,标记Pod为已删除,相关组件移除对Pod的所有引用。
❓
延伸问答
Kubernetes中如何删除Pod?
使用kubectl delete pod命令可以删除Pod。
Pod删除时会发送什么信号?
Pod删除时首先发送SIGTERM信号以优雅关闭,如果超时则发送SIGKILL信号强制停止。
在Pod删除过程中,Kubelet的作用是什么?
Kubelet负责通知Pod的终止,并在发送SIGTERM之前运行PreStop Hook以允许Pod执行自定义任务。
什么是PreStop Hook,它在Pod删除中有什么作用?
PreStop Hook是一个可选的钩子,允许Pod在接收到SIGTERM之前执行自定义任务,例如关闭连接。
Pod的默认删除宽限期是多少?
Pod的默认删除宽限期为30秒。
如果Pod在宽限期内未能终止,会发生什么?
如果Pod在宽限期内未能终止,Kubernetes会发送SIGKILL信号强制停止Pod。
🏷️
标签
➡️