diff --git a/pkg/apis/autoscaling/v1alpha1/clusterautoscaler_types.go b/pkg/apis/autoscaling/v1alpha1/clusterautoscaler_types.go index 08ccbd51f..633859e5d 100644 --- a/pkg/apis/autoscaling/v1alpha1/clusterautoscaler_types.go +++ b/pkg/apis/autoscaling/v1alpha1/clusterautoscaler_types.go @@ -64,4 +64,5 @@ type ScaleDownConfig struct { DelayAfterAdd string `json:"delayAfterAdd"` DelayAfterDelete string `json:"delayAfterDelete"` DelayAfterFailure string `json:"delayAfterFailure"` + UnneededTime string `json:"unneededTime,omitempty"` } diff --git a/pkg/controller/clusterautoscaler/clusterautoscaler.go b/pkg/controller/clusterautoscaler/clusterautoscaler.go index 193ec6e98..293742187 100644 --- a/pkg/controller/clusterautoscaler/clusterautoscaler.go +++ b/pkg/controller/clusterautoscaler/clusterautoscaler.go @@ -42,6 +42,7 @@ const ( ScaleDownDelayAfterAddArg AutoscalerArg = "--scale-down-delay-after-add" ScaleDownDelayAfterDeleteArg AutoscalerArg = "--scale-down-delay-after-delete" ScaleDownDelayAfterFailureArg AutoscalerArg = "--scale-down-delay-after-failure" + ScaleDownUnneededTimeArg AutoscalerArg = "--scale-down-unneeded-time" MaxNodesTotalArg AutoscalerArg = "--max-nodes-total" CoresTotalArg AutoscalerArg = "--cores-total" MemoryTotalArg AutoscalerArg = "--memory-total" @@ -96,6 +97,10 @@ func ScaleDownArgs(sd *v1alpha1.ScaleDownConfig) []string { ScaleDownDelayAfterFailureArg.Value(sd.DelayAfterFailure), } + if sd.UnneededTime != "" { + args = append(args, ScaleDownUnneededTimeArg.Value(sd.UnneededTime)) + } + return args }