Feat: Add server readiness probe#825
Conversation
At the moment we only have `livenessProbe` and no `readinessProbe` for server pods. On startup pods are getting requests right away before being ready. This change adds configuration for that.
robholland
left a comment
There was a problem hiding this comment.
I think readiness probably only makes sense for the frontend(-internal) services. Other services don't receive incoming requests via a Kubernetes mechanism so readiness isn't really useful. For the frontend service there is a useful health check mechanism we can use over GRPC:
readinessProbe:
grpc:
port: <your-grpc-port>
service: temporal.api.workflowservice.v1.WorkflowService
Note that we can't use a named port for GRPC probes for some reason, so it will need to be interpolated as the RPC port number is in the template.
|
@robholland so you're saying for example history pods don't use k8s readinessProbe for anything and temporal control history nodes internally? We're setting 300s initial delay for history readinessProbe as a way to slow down history pods deployment 🤔 |
|
Yes history health is managed internally via the membership system (ringpop I think?). To slow down history deployments (which is a totally valid goal) I would use |
|
Got it. We used |
What was changed
Adds configuration for server pods
readinessProbeWhy?
At the moment we only have
livenessProbeand noreadinessProbefor server pods.On startup pods are getting requests right away before being ready.
Checklist
Closes [Bug] Missing readiness probes on web server #710
How was this tested:
N/A