【问题标题】:Can I execute a prestop hook only before deletion?我可以仅在删除之前执行 prestop 挂钩吗?
【发布时间】:2021-04-01 18:49:57
【问题描述】:

我的Go-based 自定义资源运算符在删除之前需要一些清理操作。它必须从 ZooKeeper 中删除特定的 znode。

在重新生成资源之前不得执行这些操作。它们只能用用户的删除命令来执行。因此,我不能使用普通的 prestop-hook。

我可以仅在删除之前执行 prestop 挂钩吗?或者有没有其他方式让操作者在资源被删除之前执行清理逻辑?

【问题讨论】:

    标签: kubernetes apache-zookeeper kubernetes-custom-resources kubernetes-operator


    【解决方案1】:

    我可以只在删除之前执行 prestop 挂钩吗?

    这就是preStop 钩子的全部目的。在容器终止之前立即执行一个 pre-stop 钩子。一旦有来自 API 的终止信号,Kubelet 就会运行 pre-stop 钩子,然后将 SIGTERM 信号发送到进程。

    它的设计是在关闭之前执行任意操作,而不必在应用程序本身中实现这些操作。如果您运行某些无法修改代码的 3rd 方应用程序,这将特别有用。

    现在调用终止 pod 和调用钩子可能是由于 API 请求、探测失败、资源争用等原因。

    更多阅读请访问:Container Lifecycle Hooks

    【讨论】:

      猜你喜欢
      • 2022-12-15
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 2016-08-02
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多