Skip to content

Commit 805c175

Browse files
committed
Migrate scheduler, controller-manager and cloud-controller-manager to lease lock.
1 parent 92d8429 commit 805c175

File tree

6 files changed

+23
-16
lines changed

6 files changed

+23
-16
lines changed

cmd/cloud-controller-manager/app/options/options_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func TestDefaultFlags(t *testing.T) {
4949
},
5050
ControllerStartInterval: metav1.Duration{Duration: 0},
5151
LeaderElection: componentbaseconfig.LeaderElectionConfiguration{
52-
ResourceLock: "endpointsleases",
52+
ResourceLock: "leases",
5353
LeaderElect: true,
5454
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
5555
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},

cmd/kube-scheduler/app/options/options_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ profiles:
310310
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
311311
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
312312
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
313-
ResourceLock: "endpointsleases",
313+
ResourceLock: "leases",
314314
ResourceNamespace: "kube-system",
315315
ResourceName: "kube-scheduler",
316316
},
@@ -407,7 +407,7 @@ profiles:
407407
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
408408
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
409409
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
410-
ResourceLock: "endpointsleases",
410+
ResourceLock: "leases",
411411
ResourceNamespace: "kube-system",
412412
ResourceName: "kube-scheduler",
413413
},
@@ -471,7 +471,7 @@ profiles:
471471
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
472472
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
473473
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
474-
ResourceLock: "endpointsleases",
474+
ResourceLock: "leases",
475475
ResourceNamespace: "kube-system",
476476
ResourceName: "kube-scheduler",
477477
},
@@ -510,7 +510,7 @@ profiles:
510510
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
511511
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
512512
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
513-
ResourceLock: "endpointsleases",
513+
ResourceLock: "leases",
514514
ResourceNamespace: "kube-system",
515515
ResourceName: "kube-scheduler",
516516
},
@@ -584,7 +584,7 @@ profiles:
584584
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
585585
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
586586
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
587-
ResourceLock: "endpointsleases",
587+
ResourceLock: "leases",
588588
ResourceNamespace: "kube-system",
589589
ResourceName: "kube-scheduler",
590590
},
@@ -658,7 +658,7 @@ profiles:
658658
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
659659
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
660660
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
661-
ResourceLock: "endpointsleases",
661+
ResourceLock: "leases",
662662
ResourceNamespace: "kube-system",
663663
ResourceName: "kube-scheduler",
664664
},
@@ -710,7 +710,7 @@ profiles:
710710
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
711711
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
712712
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
713-
ResourceLock: "endpointsleases",
713+
ResourceLock: "leases",
714714
ResourceNamespace: "kube-system",
715715
ResourceName: "kube-scheduler",
716716
},

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,10 @@ func RecommendedDefaultGenericControllerManagerConfiguration(obj *kubectrlmgrcon
130130
}
131131

132132
if len(obj.LeaderElection.ResourceLock) == 0 {
133-
obj.LeaderElection.ResourceLock = "endpointsleases"
133+
// Use lease-based leader election to reduce cost.
134+
// We migrated for EndpointsLease lock in 1.17 and starting in 1.20 we
135+
// migrated to Lease lock.
136+
obj.LeaderElection.ResourceLock = "leases"
134137
}
135138

136139
// Use the default ClientConnectionConfiguration and LeaderElectionConfiguration options

pkg/scheduler/apis/config/v1beta1/defaults.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,10 @@ func SetDefaults_KubeSchedulerConfiguration(obj *v1beta1.KubeSchedulerConfigurat
109109
}
110110

111111
if len(obj.LeaderElection.ResourceLock) == 0 {
112-
obj.LeaderElection.ResourceLock = "endpointsleases"
112+
// Use lease-based leader election to reduce cost.
113+
// We migrated for EndpointsLease lock in 1.17 and starting in 1.20 we
114+
// migrated to Lease lock.
115+
obj.LeaderElection.ResourceLock = "leases"
113116
}
114117
if len(obj.LeaderElection.ResourceNamespace) == 0 {
115118
obj.LeaderElection.ResourceNamespace = v1beta1.SchedulerDefaultLockObjectNamespace

pkg/scheduler/apis/config/v1beta1/defaults_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func TestSchedulerDefaults(t *testing.T) {
5656
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
5757
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
5858
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
59-
ResourceLock: "endpointsleases",
59+
ResourceLock: "leases",
6060
ResourceNamespace: "kube-system",
6161
ResourceName: "kube-scheduler",
6262
},
@@ -96,7 +96,7 @@ func TestSchedulerDefaults(t *testing.T) {
9696
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
9797
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
9898
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
99-
ResourceLock: "endpointsleases",
99+
ResourceLock: "leases",
100100
ResourceNamespace: "kube-system",
101101
ResourceName: "kube-scheduler",
102102
},
@@ -151,7 +151,7 @@ func TestSchedulerDefaults(t *testing.T) {
151151
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
152152
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
153153
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
154-
ResourceLock: "endpointsleases",
154+
ResourceLock: "leases",
155155
ResourceNamespace: "kube-system",
156156
ResourceName: "kube-scheduler",
157157
},
@@ -200,7 +200,7 @@ func TestSchedulerDefaults(t *testing.T) {
200200
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
201201
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
202202
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
203-
ResourceLock: "endpointsleases",
203+
ResourceLock: "leases",
204204
ResourceNamespace: "kube-system",
205205
ResourceName: "kube-scheduler",
206206
},
@@ -235,7 +235,7 @@ func TestSchedulerDefaults(t *testing.T) {
235235
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
236236
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
237237
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
238-
ResourceLock: "endpointsleases",
238+
ResourceLock: "leases",
239239
ResourceNamespace: "kube-system",
240240
ResourceName: "kube-scheduler",
241241
},

staging/src/k8s.io/component-base/config/v1alpha1/defaults.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ func RecommendedDefaultLeaderElectionConfiguration(obj *LeaderElectionConfigurat
4444
obj.RetryPeriod = metav1.Duration{Duration: 2 * time.Second}
4545
}
4646
if obj.ResourceLock == "" {
47-
// TODO: Migrate to LeaseLock.
47+
// TODO(#80289): Figure out how to migrate to LeaseLock at this point.
48+
// This will most probably require going through EndpointsLease first.
4849
obj.ResourceLock = EndpointsResourceLock
4950
}
5051
if obj.LeaderElect == nil {

0 commit comments

Comments
 (0)