Elvin Efendi
27df697dde
introduce ngx.var.balancer_ewma_score
2019-07-03 16:50:22 -04:00
Elvin Efendi
e2c6202324
bugfix: check all previously failing upstreams, not just the last one
2019-06-07 10:00:31 -04:00
Elvin Efendi
b9b1ffb1d5
simplify sticky balancer
2019-06-06 16:32:33 -04:00
Elvin Efendi
83f2acbe38
Session Affinity ChangeOnFailure should be boolean
2019-06-06 11:22:05 -04:00
Eugene Fedunin
254629cf16
Added support for annotation session-cookie-change-on-failure
...
1. Session cookie is updated on previous attempt failure when `session-cookie-change-on-failure = true` (default value is `false`).
2. Added tests to check both cases.
3. Updated docs.
Co-Authored-By: Vladimir Grishin <yadolov@users.noreply.github.com>
2019-05-27 13:00:07 +03:00
Elvin Efendi
dc7fa885a2
log info when endpoints change for a balancer
2019-05-25 23:50:18 -04:00
Alex Kursell
d3ac73be79
Remove session-cookie-hash annotation
2019-03-04 10:34:48 -05:00
Alex Kursell
c180a0998b
Fix session-cookie-* annotation reloading
2019-02-19 17:27:08 -05:00
Kubernetes Prow Robot
1db9c91af4
Merge pull request #3363 from skeeey/master
...
Document for cookie expires annotation
2019-01-14 07:52:28 -08:00
Maximilian Gaß
39dd0c50da
Remove stickyness cookie domain from Lua balancer to match old behavior ( #3648 )
2019-01-11 22:24:45 -03:00
liuwei
7aa5834948
add cookie expires document and fix a flaw for session-cookie-expires
2019-01-11 15:35:39 +08:00
Diego Woitasen
60b983503b
Consistent hashing to a subset of nodes. It works like consistent hash,
...
but instead of mapping to a single node, we map to a subset of nodes.
2019-01-03 01:32:52 -03:00
Fabian Topfstedt
1e31767b51
[1759] Ingress affinity session cookie with Secure flag for HTTPS
...
Signed-off-by: Fabian Topfstedt <topfstedt@schneevonmorgen.com>
2018-12-04 10:51:52 +01:00
Elvin Efendi
f81f06151d
store ewma stats per backend
2018-11-26 16:59:26 +04:00
Zenara Daley
2b109b360b
Only set cookies on paths that enable session affinity
2018-11-19 11:42:12 -05:00
k8s-ci-robot
82721e575d
Merge pull request #3372 from Shopify/session-cookie-path
...
Add annotation for session affinity path
2018-11-19 07:25:32 -08:00
Zenara Daley
50b29feb4a
Add annotation for session affinity path
2018-11-19 09:15:24 -05:00
Elvin Efendi
41c925f390
bugfix: set canary attributes when initializing balancer
2018-11-13 15:44:57 +04:00
k8s-ci-robot
17cad51e47
Merge pull request #3341 from Shopify/canary_upstream
...
Add canary annotation and alternative backends for traffic shaping
2018-11-06 12:22:16 -08:00
Conor Landry
412cd70d3a
implement canary annotation and alternative backends
...
Adds the ability to create alternative backends. Alternative backends enable
traffic shaping by sharing a single location but routing to different
backends depending on the TrafficShapingPolicy defined by AlternativeBackends.
When the list of upstreams and servers are retrieved, we then call
mergeAlternativeBackends which iterates through the paths of every ingress
and checks if the backend supporting the path is a AlternativeBackend. If
so, we then iterate through the map of servers and find the real backend
that the AlternativeBackend should fall under. Once found, the
AlternativeBackend is embedded in the list of VirtualBackends for the real
backend.
If no matching real backend for a AlternativeBackend is found, then the
AlternativeBackend is deleted as it cannot be backed by any server.
2018-11-06 13:13:14 -05:00
liuwei
3477df4c12
pass static-check
2018-11-02 17:17:29 +08:00
liuwei
c74e59fa4c
Use second as cookie expires unit
2018-11-02 17:05:38 +08:00
liuwei
ce6e564f82
merge from master
2018-11-02 13:13:24 +08:00
Elvin Efendi
9e639f9788
fix sticky session implementation
2018-10-30 16:23:08 +04:00
liuwei
38279366a5
add e2e test for cookie annotations
2018-10-30 19:27:21 +08:00
liuwei
7de718f359
pass code static-check
2018-10-29 15:39:43 +08:00
liuwei
ad57c76b73
Support cookie expires
2018-10-29 15:21:10 +08:00
Henry Tran
3cbfd63992
Refactor EWMA to not use shared dictionaries
2018-10-25 22:33:42 +04:00
Hui Chen
3dc21ead49
do not hardcode the path
2018-09-17 10:52:21 +08:00
Elvin Efendi
4b07e73e5d
refactor lua balancer and fix ipv6 issue
2018-08-16 13:03:41 -04:00
Elvin Efendi
cb4755835e
refactor some lua code
2018-06-19 12:46:49 +04:00
Elvin Efendi
b4e6513fc8
make sure after_balance
is actually otional
...
add inline comment to make LB algorithm change detection logic clearer
also require port in addition to host
2018-05-28 16:08:53 -04:00
Elvin Efendi
04b7356190
fix ewma.balance and add unit tests for it
2018-05-28 15:51:58 -04:00
Elvin Efendi
e9dc275b81
refactor balancer into more testable and extensible interface
2018-05-28 15:51:58 -04:00
Elvin Efendi
7ac4e1db30
fix bug with lua sticky session implementation and refactor balancer
2018-05-16 21:00:39 -04:00
Elvin Efendi
992a68de23
upstream-hash-by should override load-balance annotation
2018-05-10 13:47:19 -04:00
Elvin Efendi
6cb28e059c
use roundrobin from lua-resty-balancer library and refactor balancer.lua
2018-05-10 13:47:19 -04:00
Elvin Efendi
2ce9196ecf
upstream-hash-by annotation support for dynamic configuraton mode
2018-04-27 14:28:43 -04:00
Zenara Daley
6e099c5f57
Add EWMA as configurable load balancing algorithm ( #2229 )
2018-03-23 12:06:21 -03:00