-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
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 such as Rate Limiting
High-level Functional Requirements
- Provide users with a means to enable and configure state sharing
Definition of Done
Development
- Unit tests are written to cover functionality delivered in the story.
- Make sure that the unit test passes before creating a pull request.
- Make sure that the test coverage stays optimal.
- Run
make lintlocally before creating a PR.
Testing
- Automated tests are written as part of the story.
- Run “make lint-python“ from root
- Acceptance criteria are met.
- Stories are demonstrated to the team.
- Product Manager accepts the story as done.
- If a feature requires changes/extensions of the Helm chart, those shall be done as part of the story.
Release Notes & Documentation
- PR is labeled appropriately so they display in GitHub release notes.
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
Sub-issues
Metadata
Metadata
Assignees
Labels
Type
Projects
Status