滚动部署中是否使用了 readinessprobe?
Is readinessprobe used amidst rolling deployment?
在下面的 yaml 语法中:
readinessProbe:
httpGet:
path: /index.html
port: 80
initialDelaySeconds: 3
timeoutSeconds: 3
periodSeconds: 10
failureThreshold: 3
在 Pod 的初始部署期间使用就绪探测。
为了推出新版本的应用程序,使用滚动部署策略,
就绪探测是否用于滚动部署?
path
& port
字段允许输入 url & 特定服务的端口号,但不是依赖服务。如何验证依赖服务是否也已准备好?
using rolling deployment strategy, Is readiness probe used for rolling deployment?
是的,新版本 Pods 已推出,旧版本 Pods 不会终止,直到新版本 Pods 在 就绪 状态。
例如如果你推出一个新版本,它有一个错误,所以 Pods 没有准备好 - 旧的 Pods 仍然是 运行 并且流量只路由到 准备就绪旧Pods.
此外,如果您未指定 readinessProbe,则使用 process 状态,例如终止的 进程 不会被视为 ready.
how to verify, if dependent service is also ready?
您可以配置自定义 readinessProbe,例如/healtz
上的 http 端点,由您决定要在该端点的实现中使用什么逻辑。 2xx 的 http 响应代码被视为 ready.
在下面的 yaml 语法中:
readinessProbe:
httpGet:
path: /index.html
port: 80
initialDelaySeconds: 3
timeoutSeconds: 3
periodSeconds: 10
failureThreshold: 3
在 Pod 的初始部署期间使用就绪探测。
为了推出新版本的应用程序,使用滚动部署策略, 就绪探测是否用于滚动部署?
path
&port
字段允许输入 url & 特定服务的端口号,但不是依赖服务。如何验证依赖服务是否也已准备好?
using rolling deployment strategy, Is readiness probe used for rolling deployment?
是的,新版本 Pods 已推出,旧版本 Pods 不会终止,直到新版本 Pods 在 就绪 状态。
例如如果你推出一个新版本,它有一个错误,所以 Pods 没有准备好 - 旧的 Pods 仍然是 运行 并且流量只路由到 准备就绪旧Pods.
此外,如果您未指定 readinessProbe,则使用 process 状态,例如终止的 进程 不会被视为 ready.
how to verify, if dependent service is also ready?
您可以配置自定义 readinessProbe,例如/healtz
上的 http 端点,由您决定要在该端点的实现中使用什么逻辑。 2xx 的 http 响应代码被视为 ready.