当hpa缩小时pod中的代码正在运行时会发生什么



我正在学习k8s-hpa自动缩放,有一个困惑

如果有一些代码在pod中运行,如下所示:

# do something1
time.sleep(15)
# do something2

当执行时间到了。睡眠(15(,此时hpa缩小,这个pod会被移除,一些g2不会执行

关于如何控制服务停止时应该发生的事情,有几个选项。通常,K8S会向容器的主进程发送一个soft termination,该进程可以使用它来优雅地处理(拦截中断信号(。尽管如此,K8S将只等待PodSpec中定义的terminationGracePeriod时间。

您还可以使用名为preStop的生命周期挂钩,并从外部处理服务终止过程。

StackOverflow的回答中有一些信息:只有在Kubernetes中的HorizontalPodAutoscaler处理消息(pod完成任务(时,才有办法缩小pod的规模吗?

阅读Kubernetes关于服务管理和pod生命周期方面的pod终止过程的文档。https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-终止

要回答您的问题,将取决于terminationGracePeriod是否执行something2

相关内容

  • 没有找到相关文章

最新更新