【问题标题】:Kubernetes Rolling Updates: Respect pod readiness before updatingKubernetes 滚动更新:在更新之前尊重 pod 的准备情况
【发布时间】:2019-03-24 17:06:27
【问题描述】:

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

理想过程:

  1. 更新的 pod 已准备好替换旧的 pod
  2. k8s 向旧 pod 发送请求,告诉它即将更新
  3. 旧 pod 被轮询更新准备情况
  4. 旧 pod 处理其事务(例如停止接收新任务,完成现有任务)
  5. 旧吊舱说它准备好了
  6. 旧吊舱被替换

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    您也许可以考虑使用container lifecycle hooks - 在这种情况下特别是prestop。

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

    【讨论】:

    • PreStop 被阻止了!正是我需要的!谢谢!
    • 没问题 - Kubernetes 团队的另一个非常酷的功能。
    猜你喜欢
    • 1970-01-01
    • 2018-03-04
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 2019-12-24
    相关资源
    最近更新 更多