...
1
16
17 package v1alpha1
18
19 import (
20 "time"
21
22 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23 kubectrlmgrconfigv1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
24 )
25
26
27
28
29
30
31
32
33
34
35 func RecommendedDefaultHPAControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.HPAControllerConfiguration) {
36 zero := metav1.Duration{}
37 if obj.ConcurrentHorizontalPodAutoscalerSyncs == 0 {
38 obj.ConcurrentHorizontalPodAutoscalerSyncs = 5
39 }
40 if obj.HorizontalPodAutoscalerSyncPeriod == zero {
41 obj.HorizontalPodAutoscalerSyncPeriod = metav1.Duration{Duration: 15 * time.Second}
42 }
43 if obj.HorizontalPodAutoscalerUpscaleForbiddenWindow == zero {
44 obj.HorizontalPodAutoscalerUpscaleForbiddenWindow = metav1.Duration{Duration: 3 * time.Minute}
45 }
46 if obj.HorizontalPodAutoscalerDownscaleStabilizationWindow == zero {
47 obj.HorizontalPodAutoscalerDownscaleStabilizationWindow = metav1.Duration{Duration: 5 * time.Minute}
48 }
49 if obj.HorizontalPodAutoscalerCPUInitializationPeriod == zero {
50 obj.HorizontalPodAutoscalerCPUInitializationPeriod = metav1.Duration{Duration: 5 * time.Minute}
51 }
52 if obj.HorizontalPodAutoscalerInitialReadinessDelay == zero {
53 obj.HorizontalPodAutoscalerInitialReadinessDelay = metav1.Duration{Duration: 30 * time.Second}
54 }
55 if obj.HorizontalPodAutoscalerDownscaleForbiddenWindow == zero {
56 obj.HorizontalPodAutoscalerDownscaleForbiddenWindow = metav1.Duration{Duration: 5 * time.Minute}
57 }
58 if obj.HorizontalPodAutoscalerTolerance == 0 {
59 obj.HorizontalPodAutoscalerTolerance = 0.1
60 }
61 }
62
View as plain text