Pod Auto-Scaler Policy
Introduction
This blueprint provides a dashboard and policy which auto-scales the targeted Kubernetes resources based on the results received by executing the provided PromQL queries for scale-in and scale-out.
info
Please see reference for the
AutoScale
component that is
used within this blueprint.
Configuration
Blueprint name: policies/auto-scaling/pod-auto-scaler
Parameters
policy
Parameter | policy.components |
Description | List of additional circuit components. |
Type | Array of Object (aperture.spec.v1.Component) |
Default Value | Expand
|
Parameter | policy.dry_run |
Description | Dry run mode ensures that no scaling is invoked by this auto scaler. |
Type | Boolean |
Default Value | false |
Parameter | policy.evaluation_interval |
Description | The interval between successive evaluations of the Circuit. |
Type | string |
Default Value | 10s |
Parameter | policy.policy_name |
Description | Name of the policy. |
Type | string |
Default Value | __REQUIRED_FIELD__ |
Parameter | policy.promql_scale_in_controllers |
Description | List of scale in controllers. |
Type | Array of Object (promql_scale_in_controller) |
Default Value | Expand
|
Parameter | policy.promql_scale_out_controllers |
Description | List of scale out controllers. |
Type | Array of Object (promql_scale_out_controller) |
Default Value | Expand
|
Parameter | policy.resources |
Description | List of additional resources. |
Type | Object (aperture.spec.v1.Resources) |
Default Value | Expand
|
Parameter | policy.scaling_backend |
Description | Scaling backend for the policy. |
Type | Object (aperture.spec.v1.AutoScalerScalingBackend) |
Default Value | Expand
|
Parameter | policy.scaling_parameters |
Description | Parameters that define the scaling behavior. |
Type | Object (aperture.spec.v1.AutoScalerScalingParameters) |
Default Value | Expand
|
dashboard
Parameter | dashboard.extra_filters |
Description | Additional filters to pass to each query to Grafana datasource. |
Type | Object (map[string]string) |
Default Value | Expand
|
Parameter | dashboard.refresh_interval |
Description | Refresh interval for dashboard panels. |
Type | string |
Default Value | 5s |
Parameter | dashboard.time_from |
Description | Time from of dashboard. |
Type | string |
Default Value | now-15m |
Parameter | dashboard.time_to |
Description | Time to of dashboard. |
Type | string |
Default Value | now |
Parameter | dashboard.title |
Description | Name of the main dashboard. |
Type | string |
Default Value | Aperture Auto-scale |
dashboard.datasource
Parameter | dashboard.datasource.filter_regex |
Description | Datasource filter regex. |
Type | string |
Default Value |
|
Parameter | dashboard.datasource.name |
Description | Datasource name. |
Type | string |
Default Value | $datasource |
Schemas
promql_scale_in_controller
Parameter | alerter |
Description | Alerter parameters for the controller. |
Type | Object (aperture.spec.v1.AlerterParameters) |
Default Value |
|
Parameter | gradient |
Description | Gradient parameters for the controller. |
Type | Object (aperture.spec.v1.DecreasingGradientParameters) |
Default Value |
|
Parameter | query_string |
Description | The Prometheus query to be run. Must return a scalar or a vector with a single element. |
Type | string |
Default Value |
|
Parameter | setpoint |
Description | Setpoint for the controller. |
Type | Number (double) |
Default Value |
|
promql_scale_out_controller
Parameter | alerter |
Description | Alerter parameters for the controller. |
Type | Object (aperture.spec.v1.AlerterParameters) |
Default Value |
|
Parameter | gradient |
Description | Gradient parameters for the controller. |
Type | Object (aperture.spec.v1.IncreasingGradientParameters) |
Default Value |
|
Parameter | query_string |
Description | The Prometheus query to be run. Must return a scalar or a vector with a single element. |
Type | string |
Default Value |
|
Parameter | setpoint |
Description | Setpoint for the controller. |
Type | Number (double) |
Default Value |
|
Dynamic Configuration
note
The following configuration parameters can be dynamically configured at runtime, without reloading the policy.
Parameters
Parameter | dry_run |
Description | Dynamic configuration for setting dry run mode at runtime without restarting this policy. Dry run mode ensures that no scaling is invoked by this auto scaler. This is useful for observing the behavior of auto scaler without disrupting any real deployment. |
Type | Boolean |
Default Value | __REQUIRED_FIELD__ |