Skip to content

charts/vertical-pod-autoscaler: Add PodDisruptionBudgets and ServiceMonitor support #253

@jparavisini

Description

Summary

Enhance the vertical-pod-autoscaler chart production readiness by adding support for PodDisruptionBudgets and ServiceMonitor resources.

Background

The vertical-pod-autoscaler chart (introduced in PR #250) mentioned these features as future todos. These additions would significantly improve the chart's operational capabilities for production deployments.

Proposed Features

1. PodDisruptionBudgets (PDB)

Add optional PodDisruptionBudgets for each VPA component to ensure availability during cluster maintenance:

Benefits:

  • Prevents all instances of a component from being evicted simultaneously
  • Ensures VPA functionality during node maintenance or upgrades
  • Critical for production stability

Implementation:

  • Optional PDB templates for recommender, updater, and admission-controller
  • Configurable minAvailable or maxUnavailable settings
  • Default to disabled to maintain backwards compatibility

2. ServiceMonitor Support

Add optional ServiceMonitor resources for Prometheus integration:

Benefits:

  • Enables automatic discovery of VPA metrics by Prometheus
  • Provides observability into VPA component health and performance
  • Standard monitoring integration for Kubernetes clusters

Implementation:

  • Optional ServiceMonitor templates for each component
  • Configurable scrape intervals and paths
  • Support for additional labels and annotations
  • Integration with existing Service resources

Implementation Notes

  • All features should be optional and disabled by default
  • Follow existing chart patterns and naming conventions
  • Update README.md with configuration examples
  • Consider component-specific requirements (e.g., admission-controller typically runs single instance)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions