有时PreStop Hook无法正常工作,并且吊舱会立即被删除

时间:2019-05-23 11:45:43

标签: java spring-boot docker kubernetes kubernetes-pod

我有一个带有Java8的spring-boot应用程序,并且在kubernetes上部署了相同的5个副本。应用程序中正在运行多个线程。 因此,在终止应用程序之前,我想将线程中存在的数据发送到kafka主题,以便其他应用程序可以处理它。

为实现这一点,我在部署yaml中定义了prestop httpget调用以及5min的终止GracePeriodSeconds。

        containers:
          lifecycle:
           preStop:
            httpGet:
             path: /shutDown
             port: 8080
          readinessProbe:
           exec:
            command:
               - ls
               - '/tmp'
           initialDelaySeconds: 5
           periodSeconds: 15
          livenessProbe:
           exec:
            command:
               - ls
               - '/tmp'
           initialDelaySeconds: 5
           periodSeconds: 15
        terminationGracePeriodSeconds: 300

但是,有时会调用pre-stop并正确处理所有数据。吊舱会正常关闭。

,在某些情况下,吊舱会立即被删除。

0 个答案:

没有答案