假设我有一个这样的部署模板
spec:
minReadySeconds: 15
readinessProbe:
failureThreshold: 3
httpGet:
path: /
port: 80
scheme: HTTP
initialDelaySeconds: 20
periodSeconds: 20
successThreshold: 1
timeoutSeconds: 5
这将如何影响我的应用程序的新版本? minReadySeconds
和initialDelaySeconds
是否会同时计数? initialDelaySeconds
会先出现minReadySeconds
吗?
答案 0 :(得分:4)
来自Kubernetes Deployment documentation:
.spec.minReadySeconds
是一个可选字段,用于指定新创建的Pod在不使其容器崩溃的情况下应准备就绪的最小秒数,以便将其视为可用。默认值为0(准备就绪后,Pod将被视为可用)。要了解有关何时将Pod准备就绪的更多信息,请参见Container Probes
因此您新创建的应用程序窗格必须准备.spec.minReadySeconds
秒才能被视为可用。
initialDelaySeconds
:启动容器后,开始进行活动性或就绪性探测的秒数。
所以initialDelaySeconds
在minReadySeconds
之前。
可以说,豆荚中的容器已开始t
秒。准备就绪探测将在t+initialDelaySeconds
秒后启动。假设Pod在t1
秒(t1 > t+initialDelaySeconds
)准备就绪。因此,此pod会在t1+minReadySeconds
秒后可用。