K8s/Openshift - 复制控制器是否关心 pod/containers 的退出状态?

K8s/Openshift - does the replication controller care about exit status of pod/containers?

K8S/Openshift中复制控制器的职责是确保实际状态与期望状态相同。因此,如果所需状态为 2 Pods,则它确保恰好有 2 pods 为 created/running。如果一个 pod 由于某种原因失败,那么复制控制器确保它将重新启动一个新的 pod 以补偿失败的 pod。

我想确认一件事,如果 Pod/Container 存在错误 - 那么复制控制器是否会关心错误代码并发现 pod 由于错误而失败,因此决定不启动吊舱再远一点。 ??请回答。

A thing i want to confirm, if the Pod/Container exists with an error - then will the replication controller care about the error code and find that the pod is failing due to error and hence decide to not start the pod any further. ??

错误可以通过多种不同的方式显示:

  • 应用程序日志中的错误代码
  • 消息负载中的错误代码
  • 响应中的 http 状态代码中的错误代码
  • 进程退出代码

只有 last - 进程退出代码对 ReplicationController(或在较新的 Kubernetes 中,ReplicaSet 控制器)有帮助。如果进程退出,则 Pod 终止,控制器将创建一个新的。

此外,为了缓解其他情况,您可以实现一个 LivenessProbe,这样 Pod 将在出现另一种错误时被杀死。