吊舱故障和恢复事件

时间:2019-07-19 12:00:35

标签: pod openshift-3

我们正在侦听单个Pod上的多个邮箱,但是如果该Pod由于某种原因而关闭,则需要另一个Pod来监听这些邮箱。为了继续接收电子邮件。

我想知道是否有可能找到吊舱是否像事件一样坠落并触发脚本以随时执行上述操作?

1 个答案:

答案 0 :(得分:0)

方法1:

kubernetes生命周期处理程序挂钩

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"]

https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/

方法2:

编写一个脚本,该脚本每3秒钟连续运行一次健康检查失败,kubernetes会删除该pod。因此,在您的脚本中,如果3次连续的休息呼叫无法正常运行,则将删除该广告连播。您可以触发事件。

方法3:

保持2个副本=>问题可能是两个Pod处理同一封邮件。如果您使用kafka,可以避免这种情况。