Use*_*678 6 self-healing kubernetes google-kubernetes-engine kubernetes-pod readinessprobe
readinessProbe:指示容器是否准备好响应请求。如果就绪探测失败,端点控制器会从与 Pod 匹配的所有服务的端点中删除 Pod 的 IP 地址。初始延迟之前的默认就绪状态为失败。如果容器不提供就绪探测,则默认状态为成功
如果就绪探测失败(并且从端点删除了 Pod 的 IP 地址),接下来会发生什么?会再次检查 Pod 的就绪探测条件吗?它会在初始延迟后再次检查吗?Pod 的 IP 地址是否有可能再次添加到端点(如果 Pod 在就绪探测失败后自我修复)?如果 Pod 被治愈,它会再次收到流量吗?
是否会再次检查 Pod 的就绪概率条件?
是的,将根据您设置的阈值再次检查条件。
每次periodSeconds配置时都会检查 POD 的准备情况。
在最初的延迟后它会再次检查吗?
它只会在初始延迟后进行检查。当 POD 初始化或启动时,就会出现初始延迟。准备情况检查将等待配置的时间,之后它将开始在每个时间间隔检查 POD 的准备情况,假设每秒5或10秒取决于periodSeconds.
是否有机会将 pod 的 IP 地址再次添加到端点(如果 pod 在就绪探测失败后自我修复)?
是的,如果获得自动修复意味着,successThreshold设置为1时间,如果 POD 一次给出 200,它将标记为修复并且正在运行 pod,在这种情况下,POD 将再次获得流量。
如果 Pod 被修复,它还会再次收到流量吗?
是的
例如 :
readinessProbe:
httpGet:
path: /k8/readiness
port: 9595
initialDelaySeconds: 25
periodSeconds: 8
timeoutSeconds: 10
successThreshold: 1
failureThreshold: 30
livenessProbe:
httpGet:
path: /k8/liveness
port: 9595
initialDelaySeconds: 30
periodSeconds: 8
timeoutSeconds: 10
successThreshold: 1
failureThreshold: 30
Run Code Online (Sandbox Code Playgroud)
就绪性和活性探针将检查配置中提到的 HTTP 端点的状态。
initialDelaySeconds:只有当您的 POD 初始化或由于重新启动或其他原因而重新启动时,它才会出现。因此,当 POD 启动就绪时,直到 30 秒才会检查服务状态。
30 后seconds,它将尝试检查端点上的状态。如果成功,POD 将处于就绪状态来处理流量,否则它将尝试另一次,因此8periodSeconds秒后它将再次尝试,如果我们将POD 准备就绪,否则将在8秒后尝试。200 response
timeoutSeconds:单跳或请求将等待从服务获取响应的时间,否则标记为检查失败。
failureThreshold:根据配置活跃度或准备情况,此 POD 启动或更改为“未就绪”状态后检查失败的最大次数。
successThreshold:成功阈值意味着单个请求获得成功响应,服务 POD 状态更改为Ready。
如果连续30 次 failureThreshold发生,则只有 POD 会被标记为“未就绪” ,如果在两次 发生之间,successThresholdPOD 将被标记为“就绪”,活性相同。
注:以上示例仅供参考,不适用于实际生产场景。
了解更多信息: https: //kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
| 归档时间: |
|
| 查看次数: |
715 次 |
| 最近记录: |