Skip to content

Commit e01ff16

Browse files
committed
move config local to every controllers in kube-controller-manager
1 parent e001276 commit e01ff16

File tree

132 files changed

+3877
-477
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+3877
-477
lines changed

pkg/controller/apis/config/types.go

Lines changed: 38 additions & 293 deletions
Large diffs are not rendered by default.

pkg/controller/apis/config/v1alpha1/defaults.go

Lines changed: 57 additions & 184 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,25 @@ import (
2323
kruntime "k8s.io/apimachinery/pkg/runtime"
2424
componentbaseconfigv1alpha1 "k8s.io/component-base/config/v1alpha1"
2525
kubectrlmgrconfigv1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
26+
csrsigningconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/certificates/signer/config/v1alpha1"
27+
daemonconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/daemon/config/v1alpha1"
28+
deploymentconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/deployment/config/v1alpha1"
29+
endpointconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/endpoint/config/v1alpha1"
30+
garbagecollectorconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/garbagecollector/config/v1alpha1"
31+
jobconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/job/config/v1alpha1"
32+
namespaceconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/namespace/config/v1alpha1"
33+
nodeipamconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/nodeipam/config/v1alpha1"
34+
nodelifecycleconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/nodelifecycle/config/v1alpha1"
35+
poautosclerconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/podautoscaler/config/v1alpha1"
36+
podgcconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/podgc/config/v1alpha1"
37+
replicasetconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/replicaset/config/v1alpha1"
38+
replicationconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/replication/config/v1alpha1"
39+
resourcequotaconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/resourcequota/config/v1alpha1"
40+
serviceconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/service/config/v1alpha1"
41+
serviceaccountconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/serviceaccount/config/v1alpha1"
42+
ttlafterfinishedconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/ttlafterfinished/config/v1alpha1"
43+
attachdetachconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/attachdetach/config/v1alpha1"
44+
persistentvolumeconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config/v1alpha1"
2645
utilpointer "k8s.io/utils/pointer"
2746
)
2847

@@ -31,25 +50,9 @@ func addDefaultingFuncs(scheme *kruntime.Scheme) error {
3150
}
3251

3352
func SetDefaults_KubeControllerManagerConfiguration(obj *kubectrlmgrconfigv1alpha1.KubeControllerManagerConfiguration) {
34-
zero := metav1.Duration{}
35-
if obj.AttachDetachController.ReconcilerSyncLoopPeriod == zero {
36-
obj.AttachDetachController.ReconcilerSyncLoopPeriod = metav1.Duration{Duration: 60 * time.Second}
37-
}
3853
if obj.DeprecatedController.RegisterRetryCount == 0 {
3954
obj.DeprecatedController.RegisterRetryCount = 10
4055
}
41-
if obj.NodeIPAMController.NodeCIDRMaskSize == 0 {
42-
obj.NodeIPAMController.NodeCIDRMaskSize = 24
43-
}
44-
if obj.PersistentVolumeBinderController.PVClaimBinderSyncPeriod == zero {
45-
obj.PersistentVolumeBinderController.PVClaimBinderSyncPeriod = metav1.Duration{Duration: 15 * time.Second}
46-
}
47-
if obj.SAController.ConcurrentSATokenSyncs == 0 {
48-
obj.SAController.ConcurrentSATokenSyncs = 5
49-
}
50-
if obj.TTLAfterFinishedController.ConcurrentTTLSyncs <= 0 {
51-
obj.TTLAfterFinishedController.ConcurrentTTLSyncs = 5
52-
}
5356

5457
// These defaults override the recommended defaults from the componentbaseconfigv1alpha1 package that are applied automatically
5558
// These client-connection defaults are specific to the kube-controller-manager
@@ -62,6 +65,44 @@ func SetDefaults_KubeControllerManagerConfiguration(obj *kubectrlmgrconfigv1alph
6265

6366
// Use the default RecommendedDefaultGenericControllerManagerConfiguration options
6467
RecommendedDefaultGenericControllerManagerConfiguration(&obj.Generic)
68+
// Use the default RecommendedDefaultHPAControllerConfiguration options
69+
attachdetachconfigv1alpha1.RecommendedDefaultAttachDetachControllerConfiguration(&obj.AttachDetachController)
70+
// Use the default RecommendedDefaultCSRSigningControllerConfiguration options
71+
csrsigningconfigv1alpha1.RecommendedDefaultCSRSigningControllerConfiguration(&obj.CSRSigningController)
72+
// Use the default RecommendedDefaultDaemonSetControllerConfiguration options
73+
daemonconfigv1alpha1.RecommendedDefaultDaemonSetControllerConfiguration(&obj.DaemonSetController)
74+
// Use the default RecommendedDefaultDeploymentControllerConfiguration options
75+
deploymentconfigv1alpha1.RecommendedDefaultDeploymentControllerConfiguration(&obj.DeploymentController)
76+
// Use the default RecommendedDefaultEndpointControllerConfiguration options
77+
endpointconfigv1alpha1.RecommendedDefaultEndpointControllerConfiguration(&obj.EndpointController)
78+
// Use the default RecommendedDefaultGenericControllerManagerConfiguration options
79+
garbagecollectorconfigv1alpha1.RecommendedDefaultGarbageCollectorControllerConfiguration(&obj.GarbageCollectorController)
80+
// Use the default RecommendedDefaultJobControllerConfiguration options
81+
jobconfigv1alpha1.RecommendedDefaultJobControllerConfiguration(&obj.JobController)
82+
// Use the default RecommendedDefaultNamespaceControllerConfiguration options
83+
namespaceconfigv1alpha1.RecommendedDefaultNamespaceControllerConfiguration(&obj.NamespaceController)
84+
// Use the default RecommendedDefaultNodeIPAMControllerConfiguration options
85+
nodeipamconfigv1alpha1.RecommendedDefaultNodeIPAMControllerConfiguration(&obj.NodeIPAMController)
86+
// Use the default RecommendedDefaultHPAControllerConfiguration options
87+
poautosclerconfigv1alpha1.RecommendedDefaultHPAControllerConfiguration(&obj.HPAController)
88+
// Use the default RecommendedDefaultNodeLifecycleControllerConfiguration options
89+
nodelifecycleconfigv1alpha1.RecommendedDefaultNodeLifecycleControllerConfiguration(&obj.NodeLifecycleController)
90+
// Use the default RecommendedDefaultPodGCControllerConfiguration options
91+
podgcconfigv1alpha1.RecommendedDefaultPodGCControllerConfiguration(&obj.PodGCController)
92+
// Use the default RecommendedDefaultReplicaSetControllerConfiguration options
93+
replicasetconfigv1alpha1.RecommendedDefaultReplicaSetControllerConfiguration(&obj.ReplicaSetController)
94+
// Use the default RecommendedDefaultReplicationControllerConfiguration options
95+
replicationconfigv1alpha1.RecommendedDefaultReplicationControllerConfiguration(&obj.ReplicationController)
96+
// Use the default RecommendedDefaultResourceQuotaControllerConfiguration options
97+
resourcequotaconfigv1alpha1.RecommendedDefaultResourceQuotaControllerConfiguration(&obj.ResourceQuotaController)
98+
// Use the default RecommendedDefaultGenericControllerManagerConfiguration options
99+
serviceconfigv1alpha1.RecommendedDefaultServiceControllerConfiguration(&obj.ServiceController)
100+
// Use the default RecommendedDefaultSAControllerConfiguration options
101+
serviceaccountconfigv1alpha1.RecommendedDefaultSAControllerConfiguration(&obj.SAController)
102+
// Use the default RecommendedDefaultTTLAfterFinishedControllerConfiguration options
103+
ttlafterfinishedconfigv1alpha1.RecommendedDefaultTTLAfterFinishedControllerConfiguration(&obj.TTLAfterFinishedController)
104+
// Use the default RecommendedDefaultPersistentVolumeBinderControllerConfiguration options
105+
persistentvolumeconfigv1alpha1.RecommendedDefaultPersistentVolumeBinderControllerConfiguration(&obj.PersistentVolumeBinderController)
65106
}
66107

67108
func RecommendedDefaultGenericControllerManagerConfiguration(obj *kubectrlmgrconfigv1alpha1.GenericControllerManagerConfiguration) {
@@ -99,171 +140,3 @@ func SetDefaults_KubeCloudSharedConfiguration(obj *kubectrlmgrconfigv1alpha1.Kub
99140
obj.RouteReconciliationPeriod = metav1.Duration{Duration: 10 * time.Second}
100141
}
101142
}
102-
103-
func SetDefaults_ServiceControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.ServiceControllerConfiguration) {
104-
if obj.ConcurrentServiceSyncs == 0 {
105-
obj.ConcurrentServiceSyncs = 1
106-
}
107-
}
108-
109-
func SetDefaults_CSRSigningControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.CSRSigningControllerConfiguration) {
110-
zero := metav1.Duration{}
111-
if obj.ClusterSigningCertFile == "" {
112-
obj.ClusterSigningCertFile = "/etc/kubernetes/ca/ca.pem"
113-
}
114-
if obj.ClusterSigningKeyFile == "" {
115-
obj.ClusterSigningKeyFile = "/etc/kubernetes/ca/ca.key"
116-
}
117-
if obj.ClusterSigningDuration == zero {
118-
obj.ClusterSigningDuration = metav1.Duration{Duration: 365 * 24 * time.Hour}
119-
}
120-
}
121-
122-
func SetDefaults_DeploymentControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.DeploymentControllerConfiguration) {
123-
zero := metav1.Duration{}
124-
if obj.ConcurrentDeploymentSyncs == 0 {
125-
obj.ConcurrentDeploymentSyncs = 5
126-
}
127-
if obj.DeploymentControllerSyncPeriod == zero {
128-
obj.DeploymentControllerSyncPeriod = metav1.Duration{Duration: 30 * time.Second}
129-
}
130-
}
131-
132-
func SetDefaults_DaemonSetControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.DaemonSetControllerConfiguration) {
133-
if obj.ConcurrentDaemonSetSyncs == 0 {
134-
obj.ConcurrentDaemonSetSyncs = 2
135-
}
136-
}
137-
138-
func SetDefaults_EndpointControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.EndpointControllerConfiguration) {
139-
if obj.ConcurrentEndpointSyncs == 0 {
140-
obj.ConcurrentEndpointSyncs = 5
141-
}
142-
}
143-
144-
func SetDefaults_GarbageCollectorControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.GarbageCollectorControllerConfiguration) {
145-
if obj.EnableGarbageCollector == nil {
146-
obj.EnableGarbageCollector = utilpointer.BoolPtr(true)
147-
}
148-
if obj.ConcurrentGCSyncs == 0 {
149-
obj.ConcurrentGCSyncs = 20
150-
}
151-
}
152-
153-
func SetDefaults_HPAControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.HPAControllerConfiguration) {
154-
zero := metav1.Duration{}
155-
if obj.HorizontalPodAutoscalerUseRESTClients == nil {
156-
obj.HorizontalPodAutoscalerUseRESTClients = utilpointer.BoolPtr(true)
157-
}
158-
if obj.HorizontalPodAutoscalerSyncPeriod == zero {
159-
obj.HorizontalPodAutoscalerSyncPeriod = metav1.Duration{Duration: 15 * time.Second}
160-
}
161-
if obj.HorizontalPodAutoscalerUpscaleForbiddenWindow == zero {
162-
obj.HorizontalPodAutoscalerUpscaleForbiddenWindow = metav1.Duration{Duration: 3 * time.Minute}
163-
}
164-
if obj.HorizontalPodAutoscalerDownscaleStabilizationWindow == zero {
165-
obj.HorizontalPodAutoscalerDownscaleStabilizationWindow = metav1.Duration{Duration: 5 * time.Minute}
166-
}
167-
if obj.HorizontalPodAutoscalerCPUInitializationPeriod == zero {
168-
obj.HorizontalPodAutoscalerCPUInitializationPeriod = metav1.Duration{Duration: 5 * time.Minute}
169-
}
170-
if obj.HorizontalPodAutoscalerInitialReadinessDelay == zero {
171-
obj.HorizontalPodAutoscalerInitialReadinessDelay = metav1.Duration{Duration: 30 * time.Second}
172-
}
173-
if obj.HorizontalPodAutoscalerDownscaleForbiddenWindow == zero {
174-
obj.HorizontalPodAutoscalerDownscaleForbiddenWindow = metav1.Duration{Duration: 5 * time.Minute}
175-
}
176-
if obj.HorizontalPodAutoscalerTolerance == 0 {
177-
obj.HorizontalPodAutoscalerTolerance = 0.1
178-
}
179-
}
180-
181-
func SetDefaults_JobControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.JobControllerConfiguration) {
182-
if obj.ConcurrentJobSyncs == 0 {
183-
obj.ConcurrentJobSyncs = 5
184-
}
185-
}
186-
187-
func SetDefaults_NamespaceControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.NamespaceControllerConfiguration) {
188-
zero := metav1.Duration{}
189-
if obj.ConcurrentNamespaceSyncs == 0 {
190-
obj.ConcurrentNamespaceSyncs = 10
191-
}
192-
if obj.NamespaceSyncPeriod == zero {
193-
obj.NamespaceSyncPeriod = metav1.Duration{Duration: 5 * time.Minute}
194-
}
195-
}
196-
197-
func SetDefaults_NodeLifecycleControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.NodeLifecycleControllerConfiguration) {
198-
zero := metav1.Duration{}
199-
if obj.PodEvictionTimeout == zero {
200-
obj.PodEvictionTimeout = metav1.Duration{Duration: 5 * time.Minute}
201-
}
202-
if obj.NodeMonitorGracePeriod == zero {
203-
obj.NodeMonitorGracePeriod = metav1.Duration{Duration: 40 * time.Second}
204-
}
205-
if obj.NodeStartupGracePeriod == zero {
206-
obj.NodeStartupGracePeriod = metav1.Duration{Duration: 60 * time.Second}
207-
}
208-
if obj.EnableTaintManager == nil {
209-
obj.EnableTaintManager = utilpointer.BoolPtr(true)
210-
}
211-
}
212-
213-
func SetDefaults_PodGCControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.PodGCControllerConfiguration) {
214-
if obj.TerminatedPodGCThreshold == 0 {
215-
obj.TerminatedPodGCThreshold = 12500
216-
}
217-
}
218-
219-
func SetDefaults_ReplicaSetControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.ReplicaSetControllerConfiguration) {
220-
if obj.ConcurrentRSSyncs == 0 {
221-
obj.ConcurrentRSSyncs = 5
222-
}
223-
}
224-
225-
func SetDefaults_ReplicationControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.ReplicationControllerConfiguration) {
226-
if obj.ConcurrentRCSyncs == 0 {
227-
obj.ConcurrentRCSyncs = 5
228-
}
229-
}
230-
231-
func SetDefaults_ResourceQuotaControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.ResourceQuotaControllerConfiguration) {
232-
zero := metav1.Duration{}
233-
if obj.ConcurrentResourceQuotaSyncs == 0 {
234-
obj.ConcurrentResourceQuotaSyncs = 5
235-
}
236-
if obj.ResourceQuotaSyncPeriod == zero {
237-
obj.ResourceQuotaSyncPeriod = metav1.Duration{Duration: 5 * time.Minute}
238-
}
239-
}
240-
241-
func SetDefaults_PersistentVolumeRecyclerConfiguration(obj *kubectrlmgrconfigv1alpha1.PersistentVolumeRecyclerConfiguration) {
242-
if obj.MaximumRetry == 0 {
243-
obj.MaximumRetry = 3
244-
}
245-
if obj.MinimumTimeoutNFS == 0 {
246-
obj.MinimumTimeoutNFS = 300
247-
}
248-
if obj.IncrementTimeoutNFS == 0 {
249-
obj.IncrementTimeoutNFS = 30
250-
}
251-
if obj.MinimumTimeoutHostPath == 0 {
252-
obj.MinimumTimeoutHostPath = 60
253-
}
254-
if obj.IncrementTimeoutHostPath == 0 {
255-
obj.IncrementTimeoutHostPath = 30
256-
}
257-
}
258-
259-
func SetDefaults_VolumeConfiguration(obj *kubectrlmgrconfigv1alpha1.VolumeConfiguration) {
260-
if obj.EnableHostPathProvisioning == nil {
261-
obj.EnableHostPathProvisioning = utilpointer.BoolPtr(false)
262-
}
263-
if obj.EnableDynamicProvisioning == nil {
264-
obj.EnableDynamicProvisioning = utilpointer.BoolPtr(true)
265-
}
266-
if obj.FlexVolumePluginDir == "" {
267-
obj.FlexVolumePluginDir = "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"
268-
}
269-
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
Copyright 2019 The Kubernetes Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
// +k8s:deepcopy-gen=package
18+
19+
package config // import "k8s.io/kubernetes/pkg/controller/certificates/signer/config"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
Copyright 2019 The Kubernetes Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package config
18+
19+
import (
20+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21+
)
22+
23+
// CSRSigningControllerConfiguration contains elements describing CSRSigningController.
24+
type CSRSigningControllerConfiguration struct {
25+
// clusterSigningCertFile is the filename containing a PEM-encoded
26+
// X509 CA certificate used to issue cluster-scoped certificates
27+
ClusterSigningCertFile string
28+
// clusterSigningCertFile is the filename containing a PEM-encoded
29+
// RSA or ECDSA private key used to issue cluster-scoped certificates
30+
ClusterSigningKeyFile string
31+
// clusterSigningDuration is the length of duration signed certificates
32+
// will be given.
33+
ClusterSigningDuration metav1.Duration
34+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
Copyright 2019 The Kubernetes Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1alpha1
18+
19+
import (
20+
"k8s.io/apimachinery/pkg/conversion"
21+
"k8s.io/kube-controller-manager/config/v1alpha1"
22+
csrsigningconfig "k8s.io/kubernetes/pkg/controller/certificates/signer/config"
23+
)
24+
25+
// Important! The public back-and-forth conversion functions for the types in this package
26+
// with CSRSigningControllerConfiguration types need to be manually exposed like this in order for
27+
// other packages that reference this package to be able to call these conversion functions
28+
// in an autogenerated manner.
29+
// TODO: Fix the bug in conversion-gen so it automatically discovers these Convert_* functions
30+
// in autogenerated code as well.
31+
32+
// Convert_v1alpha1_CSRSigningControllerConfiguration_To_config_CSRSigningControllerConfiguration is an autogenerated conversion function.
33+
func Convert_v1alpha1_CSRSigningControllerConfiguration_To_config_CSRSigningControllerConfiguration(in *v1alpha1.CSRSigningControllerConfiguration, out *csrsigningconfig.CSRSigningControllerConfiguration, s conversion.Scope) error {
34+
return autoConvert_v1alpha1_CSRSigningControllerConfiguration_To_config_CSRSigningControllerConfiguration(in, out, s)
35+
}
36+
37+
// Convert_config_CSRSigningControllerConfiguration_To_v1alpha1_CSRSigningControllerConfiguration is an autogenerated conversion function.
38+
func Convert_config_CSRSigningControllerConfiguration_To_v1alpha1_CSRSigningControllerConfiguration(in *csrsigningconfig.CSRSigningControllerConfiguration, out *v1alpha1.CSRSigningControllerConfiguration, s conversion.Scope) error {
39+
return autoConvert_config_CSRSigningControllerConfiguration_To_v1alpha1_CSRSigningControllerConfiguration(in, out, s)
40+
}

0 commit comments

Comments
 (0)