Skip to content

Allow an HPA behavior object to be passed #4392

@saedx1

Description

@saedx1

Is your feature request related to a problem? Please describe.
Nginx ingress controller scales up very quickly to the maximum when it needs to reload configs. The flapping is huge, and for us, it scales up to the maxReplicas (25) in a matter of minutes when configs change (config reloads cause a CPU and Mem spike). Allowing for custom behavior to avoid flapping is suggested by the Kubernetes docs and has yielded better results for us and more stable and reasonable scaling.

Describe the solution you'd like
I created a pull request (#4391) to allow passing the spec.behavior object to the HorizontalPodAutoscaler template. Very basic; defines a value in the values file that defaults to empty, and references it in the templates/controller.hpa.yaml as is.

Describe alternatives you've considered

  • Pulling the chart and modifying it locally; or
  • Using helm --post-renderer
    Both are hacky and require custom code on our end that is not guaranteed to work with updated versions.

Metadata

Metadata

Assignees

Labels

backlogPull requests/issues that are backlog itemsenhancementPull requests for new features/feature enhancementsgood first issueIssues identified as good for first-time contributorshelm_chartPull requests that update the Helm Charthelp wantedIssues identified as good community contribution opportunities

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions