pod被视为失败的条件是什么
What are the conditions for a pod to be treated as failed
我知道 replicaset 是如何工作的以及它将如何根据其规范协调状态。
但是,我不完全了解 Replicaset 用于协调状态的所有标准是什么?
我碰巧看了文档以了解场景。
https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
- 一种情况是当 pod 由于任何原因关闭时 - 应用程序问题
- 节点已关闭
还有哪些场景?如果 pod 停滞不前,副本集会解决这个问题吗?还是只是检查 pod 是否存活?
- OOM 终止问题 - 导致 pod 终止并重新启动 pod
- Cpu 限制问题 - 这会导致 404 问题但不会重启 pod
If the pod is stuck in making progress, will replica set take care of that ?
只要容器内的主进程是运行,默认情况下就被认为是健康的,并且会被视为健康的。如果应用程序问题导致您的应用程序无法正常工作,但主进程仍然 运行,您将陷入“不健康”的 pod。
这就是为什么您想为您的容器实施 livenessProbe
并指定什么“行为”代表容器的健康状态的原因。在这种情况下,多次(可配置)未能成功响应健康检查将导致容器被视为失败,您的副本集将采取行动。
如果您的 pod 中有 运行 网络应用程序(例如 /api/health
),示例可能是对某些预定义路径的简单 HTTP GET 请求。现在,即使主进程是 运行,您的应用程序也需要定期响应此 health-check 查询,否则它将被替换。
如果 Pod 或节点没有关闭,Pod 只会失败,如果您定义了 Liveness Probe,则会创建一个新的。
如果你不实现它,k8s 永远不会知道你的 Pod 没有启动 运行。
查看 this doc page 了解更多信息。
我知道 replicaset 是如何工作的以及它将如何根据其规范协调状态。
但是,我不完全了解 Replicaset 用于协调状态的所有标准是什么?
我碰巧看了文档以了解场景。 https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
- 一种情况是当 pod 由于任何原因关闭时 - 应用程序问题
- 节点已关闭
还有哪些场景?如果 pod 停滞不前,副本集会解决这个问题吗?还是只是检查 pod 是否存活?
- OOM 终止问题 - 导致 pod 终止并重新启动 pod
- Cpu 限制问题 - 这会导致 404 问题但不会重启 pod
If the pod is stuck in making progress, will replica set take care of that ?
只要容器内的主进程是运行,默认情况下就被认为是健康的,并且会被视为健康的。如果应用程序问题导致您的应用程序无法正常工作,但主进程仍然 运行,您将陷入“不健康”的 pod。
这就是为什么您想为您的容器实施 livenessProbe
并指定什么“行为”代表容器的健康状态的原因。在这种情况下,多次(可配置)未能成功响应健康检查将导致容器被视为失败,您的副本集将采取行动。
如果您的 pod 中有 运行 网络应用程序(例如 /api/health
),示例可能是对某些预定义路径的简单 HTTP GET 请求。现在,即使主进程是 运行,您的应用程序也需要定期响应此 health-check 查询,否则它将被替换。
如果 Pod 或节点没有关闭,Pod 只会失败,如果您定义了 Liveness Probe,则会创建一个新的。
如果你不实现它,k8s 永远不会知道你的 Pod 没有启动 运行。
查看 this doc page 了解更多信息。