kubernetes - 我可以仅在删除之前执行 prestop 挂钩吗?
问题描述
我的基于 Go 的自定义资源运算符在被删除之前需要一些清理操作。它必须从 ZooKeeper 中删除特定的 znode。
在重新生成资源之前不得执行这些操作。它们只能用用户的删除命令来执行。因此,我不能使用普通的 prestop-hook。
我可以仅在删除之前执行 prestop 挂钩吗?或者有没有其他方法让操作者在资源被删除之前执行清理逻辑?
解决方案
我可以仅在删除之前执行 prestop 挂钩吗?
这就是preStop
钩子的全部目的。在容器终止之前立即执行一个 pre-stop 钩子。一旦有来自 API 的终止信号,Kubelet 就会运行 pre-stop 钩子,然后将 SIGTERM 信号发送到进程。
它的设计是在关闭之前执行任意操作,而不必在应用程序本身中实现这些操作。如果您运行某些无法修改代码的 3rd 方应用程序,这将特别有用。
现在调用终止 pod 和调用钩子可能是由于 API 请求、探测失败、资源争用等。
更多阅读请访问:Container Lifecycle Hooks
推荐阅读
- python - 两个字符串之间最长匹配序列的正则表达式
- .net - 如何在 MVVM 中使用 akka.net 的演员?
- python - 无法使用 Pandas 从 CSV 标头中删除空格
- python - 如何从包含表格数据的熊猫计算相关矩阵
- android - S3 中的存储桶名称不再使用空格或特殊字符创建
- r - 如何为R中的每个for循环迭代打印多个图?
- assembly - 最小的可执行程序 (x86-64)
- python - 错误:模型的特征数量必须与输入匹配
- sql - 获取员工姓名和薪水高于当前员工的下一个员工
- xcode - “产品包含无效产品” Nativescript Xcode 存档