Skip to content

Bring KSM autoscaler addon up to standards #1524

@maxbrunet

Description

@maxbrunet

What is missing?

This is about refactoring ksm-autoscaler.libsonnet into following standard and being well integrated with the KSM component, as well as adding more flexibility into its configuration.

Here are my enhancement suggestions:

  • Move $.values.clusterVerticalAutoscaler to $.values.kubeStateMetrics.autoscaler
  • Move $.ksmAutoscaler.<resource> to $.kubeStateMetrics.autoscaler<resource> (when the addon is enabled, resources are automatically in the loop to deploy ksm resources)
  • Add standard values: image, commonLabels, selectorLabels, resources...
  • Use ksm._config.name as prefix for resource names
  • Generate configuration from a values field with std.manifestJsonEx(), allowing full flexibility (core or node steps, sidecar auto-scaling...)
  • Auto-scale kube-rbac-proxy-main
  • Unset ksm resources to avoid downscaling when applying manifest
  • Remove RBAC for removed extensions API group
  • Upgrade CPVPA image to latest version

Of course, many of these changes would be breaking, I would bundle them all at once.

Why do we need it?

Provide a clean add-on experience

Anything else we need to know?:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions