dstack icon indicating copy to clipboard operation
dstack copied to clipboard

[Feature]: Continuous health checks on services with reactions like pod-replacements

Open devidw opened this issue 1 year ago • 4 comments

Problem

The only reliable way to know that a service is healthy is to test it aka perform a health check that does a minimal processing of task it should do

Since this is a end to end test, its a good indicator that the service is really healthy and can take load

If there is something in the network, the health check will fail, which for example is not accounted for, by standard restart policies on container-exit

Solution

Because of this it would be extremely helpful to have health check support in dstack, and then have configuration options how to react to those changes

In order to react, it would be helpful to have a config option to set how many failures we want to consider a unhealthy, for example 3 failed ones

Then one reaction could be to try to restart the pod

Another reaction could be to remove the pod and replace it with a new one

Basically the idea is to always ensure the configured number of replicas is really healthy

Workaround

https://github.com/devidw/gingo created this to perform health checks and then perform pod restarts/adding/removing based on the health status of pods in a configured cluster

can be extended by writing other connectors, currently just has a runpod one

Would you like to help us implement this feature by sending a PR?

No

devidw avatar Jun 21 '24 13:06 devidw

@devidw, gonna discuss this with the team next week and get back to you with an update on when we can support this. Stay tuned.

peterschmidt85 avatar Jun 21 '24 13:06 peterschmidt85

This issue is stale because it has been open for 30 days with no activity.

peterschmidt85 avatar Jul 22 '24 01:07 peterschmidt85

This issue was closed because it has been inactive for 14 days since being marked as stale. Please reopen the issue if it is still relevant.

peterschmidt85 avatar Aug 05 '24 01:08 peterschmidt85

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar Oct 08 '24 01:10 github-actions[bot]

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar Nov 08 '24 01:11 github-actions[bot]

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar Dec 09 '24 02:12 github-actions[bot]

Is duplicated by #2181

peterschmidt85 avatar Jan 13 '25 14:01 peterschmidt85