Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

verify health check before #5

Open
hridyeshpant opened this issue Mar 10, 2017 · 1 comment
Open

verify health check before #5

hridyeshpant opened this issue Mar 10, 2017 · 1 comment

Comments

@hridyeshpant
Copy link

Hi @andrewwatson
how do we check deployment health check before Flip the traffic to "Green"
Deploy "Version 1" of an application as "Blue"
Ensure "Blue" is serving traffic
Deploy "Version 2" of an application as "Green"

now before Flip the traffic to "Green", there might be the case the deployment health check is failing due to some issue in application .
let say i have following health check defined and due to wrong commit, application is failing to launch.
livenessProbe:{
httpGet:{
path:'/buildInfo',
port: 8080
},
initialDelaySeconds:45,
timeoutSeconds:10
}

So i want to check if health check is passing for new version before Flip the traffic to "Green, other wise service will start pointing to failed version and will have downtime.

the main issue there is no way to get health check as soon as we do deployment. i tried to fetch pods status after the deployment, kubernetes is throwing error only after quite log time and during that time the result is aways showing "pods are running".
the only workaround is i need to put some wait time in our workflow and make sure all pods with new version running fine before Flip the traffic to "Green".

Do you have any other suggestion here?

@andrewwatson
Copy link
Contributor

So, I would check the health from outside the cluster. In my experience, when pods fail to boot up and pass the health check requirements of the load balancers you'll always get errors from the outside. ELB, for example, won't even resolve the DNS entry for the load balancer if it can't serve traffic. All that matters is that traffic from outside would be successful so that should be the primary measurement of health for your blue/green side. Is that what you're looking for or was it something else?

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants