Kubernetes StatefulSets 和 livenessProbes

标签 kubernetes kubernetes-statefulset statefulset livenessprobe

事件探针应该触发失败容器的重新启动。他们是否尊重默认的状态集deployment and scaling guarantees 。例如。如果同一状态集中的多个 pod 的 active 探测同时失败,K8S 会尝试一次重新启动一个容器还是并行地重新启动所有容器?

最佳答案

根据https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ active 探针是在 kubelet 中实现的一项功能:

The kubelet uses liveness probes to know when to restart a container.

这意味着任何需要了解多个 Pod 的调度决策都不会被考虑在内。

因此,如果您的所有有状态集的 Pod 同时有失败的事件探测,它们将大约在同一时间重新安排,而不尊重任何部署级别的保证。

关于Kubernetes StatefulSets 和 livenessProbes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67001521/

相关文章:

node.js - Node.js 和 MongoDB 应该在不同的 pod 中吗?

kubernetes - 为什么使用 StatefulSet?无状态 Pod 不能使用持久卷吗?

kubernetes - 如何在不丢失数据的情况下在 AKS 上为 Cassandra 扩展 PVC?

kubernetes - 在 Kubernetes 上部署可扩展的应用程序,这要求每个副本 Pod 具有不同的参数

Kubernetes:带有 StatefulSets 的 NFS

kubernetes - kubernetes中两个Pod之间的SSH连接

docker - Kubernetes:一种手动将流量路由到不同副本的方法

spring-boot - 如何使用 JDBC 实现水平扩展 spring-boot oauth2 服务器

kubernetes - 立即将Kubernetes Statefulset/Deployment扩展到最大容量

docker - 将Hospath添加到Kubernetes Statefulset