【发布时间】:2021-11-30 15:15:44
【问题描述】:
一个 pod 有两个容器:A 和 B,A 需要调用 B,所以它必须等待 B 准备好。目前,我对此就绪检测的实现是使用“就绪探针”。但是,有一个问题。 “k8s.io/api/core/v1.Container”中的容器结构没有像“ready”这样的布尔值。这对我来说没有意义,不应该有这样一个字段,以便另一个容器可以轻松检测到状态吗?还是我一开始就弄错了这个“就绪探针”?
我注意到如果一个容器的就绪状态不正常,那么它的容器就不会被创建。所以也许我可以查看 pod 并检查是否创建了 B 的容器,这可能是“k8s.io/api/core/v1.Container”没有“Readiness Probe”布尔字段的原因。
我的问题是:可以使用容器的存在作为“Readiness Probe”的指标吗?
【问题讨论】:
-
我见过的常用方法是让 A 假设 B 存在,然后重试调用或重新启动 A 容器(如果它不存在或尚未准备好)。这种方法不是特定于 Kubernetes 的,即使 B 在启动后一段时间失败,它也可以工作。
标签: kubernetes