Skip to content

Helm StatefulSet support #8076

@brianehlert

Description

@brianehlert

When NGINX Ingress Controller is used to fulfil cache use cases, the regular activities of Kubernetes such as pod rebalancing/replacement forces cache in any specific pod to be rebuilt on a regular basis.

To avoid this, StatefulSet supports the same volume being attached to replacement pods rather than anything written to volume being lost.
Thus any pod that might be replaced during normal Kubernetes lifecycle would inherit the cache of the pod it replaced. Thus making cache more efficient and consistent.

Note: this is not attempting to address any problems related to the concept of a shared cache, see the discussion thread for how NGINX normally handles the concept of a distributed cache through a sharded architecture.

  • Run entire test suite with deployment type as StatefulSet
  • Test ReadOnlyRootFileSystem
  • Test LeaderElection
  • Test Zone-Sync
  • Test on Helm Operator
  • Figure out how persistant volumes behaves on multiple nodes
  • How do replicas behaves

ref:
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#using-statefulsets
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#limitations
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#rolling-updates

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogPull requests/issues that are backlog itemsproposalAn issue that proposes a feature request

    Projects

    Status

    Todo ☑

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions