问题描述
我在 [1] 之后在 google kubernetes 集群中部署了 gridgain 集群。我使用 statefulset 启用了本机持久性。在 statefulset.yaml 中的 [2] terminationGracePeriodSeconds 设置为 60000。这个大超时的目的是什么?
使用 kubectl delete pod 命令删除 pod 时需要很长时间。在不丢失任何数据的情况下,terminationGracePeriodSeconds 的合适值是多少。
[1]。 https://www.gridgain.com/docs/latest/installation-guide/kubernetes/gke-deployment
解决方法
我相信将其设置为 60000 的原因是 - 不要依赖它。在 Ignite 2.9 之前,启动脚本存在一个问题,它没有绕过 SYS SIGNAL 到底层 Java 应用程序,从而无法正常关闭。
如果节点正常重启并且启用了 IGNITE_WAIT_FOR_BACKUPS_ON_SHUTDOWN,Ignite 将确保节点离开不会导致数据丢失。有时重新平衡可能需要一段时间。
请牢记上述事项:Apache Ignite 2.8 及以下版本可能会发生挂起问题,保持推荐的 terminateGracePeriodSeconds 应该没问题,并且永远不要在实践中使用(在正常流程中)。