Kubernetes滚动更新:在更新之前尊重Pod准备就绪

时间:2019-03-24 08:55:50

标签: kubernetes

我的部署的Pod正在执行不应中断的工作。 K8是否有可能正在轮询端点以了解更新准备情况,或者通知我的Pod即将关闭,以便它可以按顺序处理事务,然后声明自己准备进行更新?

理想过程:

  1. 更新的吊舱已准备就绪,可以替换旧的吊舱
  2. k8s将请求发送到旧的pod,告诉它即将更新
  3. 对旧Pod进行有关更新准备情况的调查
  4. 旧容器按顺序处理事务(例如,停止接收新任务,完成现有任务)
  5. 旧豆荚说准备好了
  6. 旧豆荚被替换

1 个答案:

答案 0 :(得分:6)

您也许可以考虑使用container lifecycle hooks-在这种情况下特别要先停止。

apiVersion: v1
kind: Pod
metadata:
  name: your-pod
spec:
  containers:
  - name: your-awesome-image
    image: image-name
    lifecycle:
      postStart:
        exec:
          command: ["/bin/sh", "my-app", "-start"]
      preStop:
        exec:
          # specifically by adding the cmd you want your image to run here
          command: ["/bin/sh","my-app","-stop"]