36 Commits

Author SHA1 Message Date
Andjelko Iharos 64fd7b46e6 enabled DNS Service discovery in HAProxy 2018-05-23 10:09:40 +02:00
Joao Morais a1257f610e Rename stats_socket to a new package dynconfig 2018-04-22 21:41:59 -03:00
Joao Morais 221db33c73 Refactor dynamic updates
* breakdown dynconfig.ConfigBackends into smaller pieces
* merge weight and scaling dynamic checks and updates
* fix equality of backends
* set ip/port/weight when dynamically removing endpoints
* dynamically remove endpoint even if dynamic scaling is turned off
* v(2) logs
2018-04-22 21:38:37 -03:00
Joao Morais e7442870e4 Remove multibinder, change it to an alias of reusesocket 2018-04-22 11:21:11 -03:00
Joao Morais 6c3dc35efe Merge pull request #130 from jcmoraisjr/jm-sharefront
Share http/s connections on the same frontend/socket
2018-04-22 09:03:11 -03:00
Brian Loss d798a1c277 Fix nil pointer de-reference on first update. 2018-04-09 16:07:12 -04:00
Brian Loss d8bfdfdc24 PR feedback
* validate namespace match when pulling terminating service pods
* don't include not ready or terminating pods when DrainSupport is not active
2018-04-08 12:49:41 -04:00
Brian Loss fd183e073e Merge branch 'master' into drain-support 2018-04-08 12:07:37 -04:00
Joao Morais a80d2c6483 Share http/s connections on the same frontend/socket 2018-03-26 20:17:21 -03:00
Steve West c9f232d652 Changes per review 2018-03-19 21:09:41 -06:00
Steve West aa39703657 Changes to support debugging haproxy reload not loading correct config
- Under high load situations (hundreds of services, certs, and ingress rules), we have seen infrequent but consistent cases of haproxy not reflecting the on-disk config file. On theory is a race condition on new haproxy processes pointing to an ever-changing config file. This commit gives each haproxy process its own config file that does not change. Not only should this remove the risk of loading a partially written file, it will also help debug the issue because we see a snapshot of the config used for each haproxy process.
- Config files are left on disk up to a max threshold, configurable via environment variable, to allow debugging issues.
- Not supported under with reloadStrategy=multibinder since multibinder-haproxy-wrapper currently only supports receiving a USR2 signal to reload a fixed config file
2018-03-14 13:04:15 -06:00
Brian Loss 53c6a041ef Support a "drain" mode for terminating pods and servers failing readiness checks
When a pod starts terminating or the readiness check fails, leave the pod as a service
in the load balancer, but set its weight to 0 so that HAProxy does not send ordinary
traffic to the pod. Traffic using persistence, however, will be directed to the terminating
pods. This allows persistent requests to continue to flow to a terminating pod. Updates to
only the draining state are made using the stats socket rather than forcing a full reload
of HAProxy.
2018-02-16 18:47:17 -05:00
Joao Morais 72fea25d27 New reload strategy - reusesocket 2017-12-17 16:43:53 -02:00
Joao Morais 939bd129c8 Fix cfg parsing if there is no endpoints 2017-11-20 07:16:59 -02:00
Joao Morais 618426ed01 Move ingress common from vendor to pkg 2017-11-19 14:36:06 -02:00
Joao Morais 85a5b33ad8 Update to Ingress 7d4cd1b 2017-09-27 22:13:02 -03:00
Joao Morais e74f35f3a9 Moving config check funcs from utils to controller 2017-09-07 18:10:10 -03:00
Joao Morais 2a59950dce Update to Ingress 9e7c542 2017-08-27 21:18:29 -03:00
Joao Morais ab3abc3041 Update to Ingress 65e8cec 2017-08-10 13:13:45 -03:00
Joao Morais 79f373598f Update to Ingress 16a213c - update dependencies 2017-08-10 13:13:45 -03:00
Andjelko Iharos 4c46e99702 verify new configuration file is valid before replacing for native
reload strategy, generate all configuration files for multibinder
2017-06-28 13:22:01 +02:00
Joao Morais dc9dcd6cd8 Update to Ingress 1468fcb 2017-06-26 21:56:48 -03:00
Andjelko Iharos 1ba96df01f factor out socket commands, streamline log messages 2017-06-26 12:00:42 +02:00
Andjelko Iharos 5dfd316951 remove unused configChanged function 2017-06-26 11:36:51 +02:00
Andjelko Iharos 331e0bcd99 decouple reconfigureBackends from internal HAProxyController attributes 2017-06-23 15:40:07 +02:00