nginxinc / kubernetes-ingress

NGINX and NGINX Plus Ingress Controllers for Kubernetes
https://docs.nginx.com/nginx-ingress-controller
Apache License 2.0
4.67k stars 1.97k forks source link

State Sharing #4668

Open brianehlert opened 12 months ago

brianehlert commented 12 months ago

Overview

As a user of NGINX Ingress Controller, I would like to ensure that all of my pods are aware of each-others state to ensure constant behaviour when configuring policies

High-level Functional Requirements

Definition of Done

Development

Testing

Release Notes & Documentation


References

Guide on "cluster" ratelimiting (mentions zone_sync and zone for different contexts)

https://www.f5.com/company/blog/nginx/nginx-plus-r16-released#r16-cluster-rate-limiting

NGINX Admin guide on zone_sync for state sharing

https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync_details/

NGINX stick directive for upstreams

https://nginx.org/en/docs/http/ngx_http_upstream_module.html#sticky

What is zone_sync?

The ngx_stream_zone_sync_module module (1.13. 8) provides the necessary support for synchronizing contents of shared memory zones between nodes of a cluster

danielnginx commented 1 day ago

@shaun-nx should the state sharing be on by default?