Skip to content
This repository has been archived by the owner on Apr 17, 2019. It is now read-only.

[nginx-ingress-controller] Allow custom health checks in upstreams #1002

Merged
merged 1 commit into from
May 30, 2016

Conversation

aledbf
Copy link
Contributor

@aledbf aledbf commented May 17, 2016

fixes #818

@aledbf aledbf force-pushed the nginx-check-upstreams branch 2 times, most recently from 8412c12 to 7db9b60 Compare May 17, 2016 21:26
@bprashanth bprashanth self-assigned this May 18, 2016
@bprashanth
Copy link

still wip?

@aledbf aledbf changed the title WIP: [nginx-ingress-controller] Allow custom health checks in upstreams [nginx-ingress-controller] Allow custom health checks in upstreams May 26, 2016
@aledbf
Copy link
Contributor Author

aledbf commented May 26, 2016

Sorry. title updated

@@ -196,6 +196,23 @@ Use the [custom-template](examples/custom-template/README.md) example as a guide
**Please note the template is tied to the go code. Be sure to no change names in the variable `$cfg`**


### Custom NGINX upstream checks

NGINX exposes some flags in the [upstream configuration](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream) that enabled configuration of each server in the upstream. The ingress controller allows custom `max_fails` and `fail_timeout` parameters in a global context using `upstream-max-fails` or `upstream-fail-timeout` in the NGINX Configmap or in a particular Ingress rule. By default this values are 0. This means NGINX will respect the `livenessProbe`, if is defined. If there is no probe, NGINX will not mark a server inside an upstream down.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/liveness/readiness
Also this language makes me think nginx scrapes the pods for their readiness probes but that's not the case. Please clarify with something like: nginx will not health check your backends, and whenever the endpoints controller notices a readiness probe failure that pod's ip will be removed from the list of endpoints, causing nginx to also remove it from the upstreams.

@bprashanth
Copy link

LGTM but for the one comment, you can fix that in a follow up

@bprashanth bprashanth merged commit fb7c517 into kubernetes-retired:master May 30, 2016
@aledbf aledbf deleted the nginx-check-upstreams branch May 31, 2016 15:41
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Nginx Ingress Controller - Missing healthcheck params in upstream
4 participants