快速重启有状态集的容器,而不会影响准备检查

时间:2020-05-18 18:12:45

标签: kubernetes kubernetes-statefulset readinessprobe

我们有一个状态集,我们希望将停机时间减到最少(就像我想的其他状态集一样),但是由于就绪探测器故障阈值为5(在“ 终止”状态)。因此,为了更快地终止,我将故障阈值减小到1,现在终止更快,但是现在故障阈值如此之低,由于CPU达到100%或其他瞬态,有时会导致随机的未就绪Pod问题。

我的问题:如何使Pod更快终止,同时将Readiness故障阈值保持较高水平,以减少Pod重新启动期间的停机时间? (此外,我还希望获得其他随机提示,这些提示可以使Pod重新启动更快(例如,在 ContainerCreating 中花费的时间更少)

1 个答案:

答案 0 :(得分:0)

如果要使用kubectl版本> = 1.5强制删除Pod,请执行以下操作:

kubectl delete pods <pod> --grace-period=0 --force

如果您使用的是任何版本的kubectl <= 1.4,则应省略--force选项,并使用:

kubectl delete pods <pod> --grace-period=0

如果即使在执行了这些命令之后,pod仍停留在未知状态,请使用以下命令从集群中删除该pod:

kubectl patch pod <pod> -p '{"metadata":{"finalizers":null}}'

参考:https://kubernetes.io/docs/tasks/run-application/force-delete-stateful-set-pod/