mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 10:51:29 +00:00
Migrate scheduler, controller-manager and cloud-controller-manager to lease lock.
This commit is contained in:
parent
92d8429651
commit
805c1753cd
@ -49,7 +49,7 @@ func TestDefaultFlags(t *testing.T) {
|
|||||||
},
|
},
|
||||||
ControllerStartInterval: metav1.Duration{Duration: 0},
|
ControllerStartInterval: metav1.Duration{Duration: 0},
|
||||||
LeaderElection: componentbaseconfig.LeaderElectionConfiguration{
|
LeaderElection: componentbaseconfig.LeaderElectionConfiguration{
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
LeaderElect: true,
|
LeaderElect: true,
|
||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
|
@ -310,7 +310,7 @@ profiles:
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -407,7 +407,7 @@ profiles:
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -471,7 +471,7 @@ profiles:
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -510,7 +510,7 @@ profiles:
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -584,7 +584,7 @@ profiles:
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -658,7 +658,7 @@ profiles:
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -710,7 +710,7 @@ profiles:
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
|
@ -130,7 +130,10 @@ func RecommendedDefaultGenericControllerManagerConfiguration(obj *kubectrlmgrcon
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(obj.LeaderElection.ResourceLock) == 0 {
|
if len(obj.LeaderElection.ResourceLock) == 0 {
|
||||||
obj.LeaderElection.ResourceLock = "endpointsleases"
|
// Use lease-based leader election to reduce cost.
|
||||||
|
// We migrated for EndpointsLease lock in 1.17 and starting in 1.20 we
|
||||||
|
// migrated to Lease lock.
|
||||||
|
obj.LeaderElection.ResourceLock = "leases"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use the default ClientConnectionConfiguration and LeaderElectionConfiguration options
|
// Use the default ClientConnectionConfiguration and LeaderElectionConfiguration options
|
||||||
|
@ -109,7 +109,10 @@ func SetDefaults_KubeSchedulerConfiguration(obj *v1beta1.KubeSchedulerConfigurat
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(obj.LeaderElection.ResourceLock) == 0 {
|
if len(obj.LeaderElection.ResourceLock) == 0 {
|
||||||
obj.LeaderElection.ResourceLock = "endpointsleases"
|
// Use lease-based leader election to reduce cost.
|
||||||
|
// We migrated for EndpointsLease lock in 1.17 and starting in 1.20 we
|
||||||
|
// migrated to Lease lock.
|
||||||
|
obj.LeaderElection.ResourceLock = "leases"
|
||||||
}
|
}
|
||||||
if len(obj.LeaderElection.ResourceNamespace) == 0 {
|
if len(obj.LeaderElection.ResourceNamespace) == 0 {
|
||||||
obj.LeaderElection.ResourceNamespace = v1beta1.SchedulerDefaultLockObjectNamespace
|
obj.LeaderElection.ResourceNamespace = v1beta1.SchedulerDefaultLockObjectNamespace
|
||||||
|
@ -56,7 +56,7 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -96,7 +96,7 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -151,7 +151,7 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -200,7 +200,7 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
@ -235,7 +235,7 @@ func TestSchedulerDefaults(t *testing.T) {
|
|||||||
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
LeaseDuration: metav1.Duration{Duration: 15 * time.Second},
|
||||||
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
RenewDeadline: metav1.Duration{Duration: 10 * time.Second},
|
||||||
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
RetryPeriod: metav1.Duration{Duration: 2 * time.Second},
|
||||||
ResourceLock: "endpointsleases",
|
ResourceLock: "leases",
|
||||||
ResourceNamespace: "kube-system",
|
ResourceNamespace: "kube-system",
|
||||||
ResourceName: "kube-scheduler",
|
ResourceName: "kube-scheduler",
|
||||||
},
|
},
|
||||||
|
@ -44,7 +44,8 @@ func RecommendedDefaultLeaderElectionConfiguration(obj *LeaderElectionConfigurat
|
|||||||
obj.RetryPeriod = metav1.Duration{Duration: 2 * time.Second}
|
obj.RetryPeriod = metav1.Duration{Duration: 2 * time.Second}
|
||||||
}
|
}
|
||||||
if obj.ResourceLock == "" {
|
if obj.ResourceLock == "" {
|
||||||
// TODO: Migrate to LeaseLock.
|
// TODO(#80289): Figure out how to migrate to LeaseLock at this point.
|
||||||
|
// This will most probably require going through EndpointsLease first.
|
||||||
obj.ResourceLock = EndpointsResourceLock
|
obj.ResourceLock = EndpointsResourceLock
|
||||||
}
|
}
|
||||||
if obj.LeaderElect == nil {
|
if obj.LeaderElect == nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user