kubernetes-ingress icon indicating copy to clipboard operation
kubernetes-ingress copied to clipboard

Weight changes for backends should not trigger a reload

Open danielnginx opened this issue 2 years ago • 1 comments

Discussed in https://github.com/nginxinc/kubernetes-ingress/discussions/3741

Originally posted by brianehlert April 10, 2023 When only the weight is changed for upstreams, such as performing a blue/green or canary - NGINX Plus should not be reloaded. This is possible through the N+ API just like dynamic upstream configuration. This idea is described here: https://www.nginx.com/blog/dynamic-a-b-testing-with-nginx-plus/#Using-the-Key-Value-Store-with-Split-Clients NGINX Ingress Controller already uses Split Clients to implement the weight feature.

  • make weight changes without reloading
  • Plus exclusive feature (changes without reload)
  • NGINX OSS will still reload on weight change

This work should primarily be about using the NGINX Plus API to apply the weight changes when NGINX Plus is present. If the deployment is using NGINX OSS then a soft reload should still be required.

This work can be split when delivered

VirtualServer docs on configuring splits: https://docs.nginx.com/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#split

### Tasks
- [ ] https://github.com/nginxinc/kubernetes-ingress/issues/4900
- [ ] https://github.com/nginxinc/kubernetes-ingress/issues/4901
- [ ] https://github.com/nginxinc/kubernetes-ingress/issues/5049

danielnginx avatar Oct 12 '23 14:10 danielnginx

Reopened as it is one of the stories to complete https://github.com/nginxinc/kubernetes-ingress/issues/4404

danielnginx avatar Nov 21 '23 15:11 danielnginx