登录
首页 >  Golang >  Go问答

可以在使用 prestop 钩子进行优雅终止之前,硬驱逐进程吗?

来源:stackoverflow

时间:2024-03-03 21:03:24 299浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《可以在使用 prestop 钩子进行优雅终止之前,硬驱逐进程吗?》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

当收到 SIGTERM 时,我的应用程序会正常停止。 Graceful-stop 操作正在删除 ZooKeeper 中的 znode。

但我尝试的是在 Kubernetes 逐出我的 pod 之前自动优雅地终止进程。

我想将 prestop 挂钩设置为“kill 1”,以便在 pod 被驱逐之前优雅地停止。

我并不期望 prestop hook 在所有情况下都有效,但我认为,这样我会有一些保证。

我想知道我的想法是否可行。


解决方案


是的,prestop 是可能的 - 并且涵盖了您的用例。以下是 k8s docs 示例:

apiVersion: v1
kind: Pod
metadata:
  name: lifecycle-demo
spec:
  containers:
  - name: lifecycle-demo-container
    image: nginx
    lifecycle:
      postStart:
        exec:
          command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
      preStop:
        exec:
          command: ["/bin/sh","-c","nginx -s quit; while killall -0 nginx; do sleep 1; done"]

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《可以在使用 prestop 钩子进行优雅终止之前,硬驱逐进程吗?》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>