You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Proposal: basic health check before declaring a Revision Ready #2674
Today, if I deploy a container image that is not binding to the right port or that crashes at startup, the revision is successfully created and serving traffic (in case I am in runLatest mode). Of course, trying to access it results in a failure: "upstream request timeout".
Proposal
Before marking a new Revision with Ready=True (ready to serve traffic), we implement a basic health check by ensuring that is successfully binds to $PORT.
If, after a given timeout (e.g. 4 minutes), the container is not listening on $PORT, we consider the Revision unhealthy, we mark is as Ready=False and we do not route traffic to it if the service is in runLatest mode.
This is fixed now in 0.4.0, since queue-proxy health check also probes the user-container. In addition to that we always configure health check for queue-proxy.
Activity
tcnghia commentedon Dec 8, 2018
@steren do you have ReadinessProbe for your application? Something like this
steren commentedon Dec 8, 2018
Thanks for pointing this out. But this proposal is more general than for my personal app:
The idea is to provide some readiness check for users who do not implement a readiness probe.
mattmoor commentedon Feb 11, 2019
@tcnghia this is about creating a default
tcpProbeof the user container. cc @dgerd (as I think the runtime contract touches on this).tcnghia commentedon Feb 11, 2019
This is fixed now in 0.4.0, since queue-proxy health check also probes the user-container. In addition to that we always configure health check for queue-proxy.