0

就绪探测成功与否确定 pod 就绪与否。如果我设置了.spec.minReadySeconds = 60并且Readiness探针是success( .readinessProbe.initialDelaySeconds = 1),那么当我们创建部署超过1秒不到60秒时,Pod进入就绪状态,但部署的“状态”如下所示:

kubectl describe deployment readiness-minreadyseconds
Name:           readiness-minreadyseconds
Namespace:      default
CreationTimestamp:  Wed, 21 Sep 2016 10:34:42 +0800
Labels:         add=readiness-minreadyseconds
Selector:       name=readiness-minreadyseconds
Replicas:       2 updated | 2 total | 0 available | 2 unavailable
StrategyType:       RollingUpdate
MinReadySeconds:    45
RollingUpdateStrategy:  1 max unavailable, 1 max surge
OldReplicaSets:     <none>
NewReplicaSet:      readiness-minreadyseconds-536553145 (2/2 replicas created)
Events:
  FirstSeen LastSeen    Count   From                SubobjectPath   Type        Reason          Message
  --------- --------    -----   ----                -------------   --------    ------          -------
  2s        2s      1   {deployment-controller }            Normal      ScalingReplicaSet   Scaled up replica set readiness-minreadyseconds-536553145 to 2

我发现我们可以通过 nodeport 类型从容器中访问资源,所以如果部署中有一些 pod 不可用,它会对我产生什么影响?

4

1 回答 1

2

这可能是对术语的误解。从部署文档中,有一个:

.spec.minReadySeconds 是一个可选字段,它指定新创建的 Pod 应该准备好且其任何容器不崩溃的最小秒数,以使其被视为可用。

所以minReadySeconds设置为 60,它需要保持 60 秒没有任何崩溃被认为是“可用的”。因此,您所看到的是,即使您的 pod 已标记为就绪,它们仍不满足该条件minReadySeconds

于 2016-09-21T04:24:00.520 回答