kubernetes-ingress
kubernetes-ingress copied to clipboard
Weight changes for backends should not trigger a reload
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
Reopened as it is one of the stories to complete https://github.com/nginxinc/kubernetes-ingress/issues/4404