From ce499ac2861cc26b9643987faed099e82d4fc435 Mon Sep 17 00:00:00 2001 From: wojtekt Date: Fri, 18 Oct 2019 12:59:59 +0200 Subject: [PATCH] Migrate components to EndpointsLeases leader election lock --- cmd/cloud-controller-manager/app/options/options_test.go | 2 +- cmd/kube-scheduler/app/options/options_test.go | 6 +++--- pkg/controller/apis/config/v1alpha1/defaults.go | 4 ++++ pkg/scheduler/apis/config/v1alpha1/defaults.go | 3 +++ .../src/k8s.io/component-base/config/v1alpha1/defaults.go | 1 + 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/cmd/cloud-controller-manager/app/options/options_test.go b/cmd/cloud-controller-manager/app/options/options_test.go index 80eab7bafab..cb5ef9e7af6 100644 --- a/cmd/cloud-controller-manager/app/options/options_test.go +++ b/cmd/cloud-controller-manager/app/options/options_test.go @@ -49,7 +49,7 @@ func TestDefaultFlags(t *testing.T) { }, ControllerStartInterval: metav1.Duration{Duration: 0}, LeaderElection: componentbaseconfig.LeaderElectionConfiguration{ - ResourceLock: "endpoints", + ResourceLock: "endpointsleases", LeaderElect: true, LeaseDuration: metav1.Duration{Duration: 15 * time.Second}, RenewDeadline: metav1.Duration{Duration: 10 * time.Second}, diff --git a/cmd/kube-scheduler/app/options/options_test.go b/cmd/kube-scheduler/app/options/options_test.go index 8e69875de63..7f5b19c2de7 100644 --- a/cmd/kube-scheduler/app/options/options_test.go +++ b/cmd/kube-scheduler/app/options/options_test.go @@ -266,7 +266,7 @@ pluginConfig: LeaseDuration: metav1.Duration{Duration: 15 * time.Second}, RenewDeadline: metav1.Duration{Duration: 10 * time.Second}, RetryPeriod: metav1.Duration{Duration: 2 * time.Second}, - ResourceLock: "endpoints", + ResourceLock: "endpointsleases", ResourceNamespace: "kube-system", ResourceName: "kube-scheduler", }, @@ -348,7 +348,7 @@ pluginConfig: LeaseDuration: metav1.Duration{Duration: 15 * time.Second}, RenewDeadline: metav1.Duration{Duration: 10 * time.Second}, RetryPeriod: metav1.Duration{Duration: 2 * time.Second}, - ResourceLock: "endpoints", + ResourceLock: "endpointsleases", ResourceNamespace: "kube-system", ResourceName: "kube-scheduler", }, @@ -411,7 +411,7 @@ pluginConfig: LeaseDuration: metav1.Duration{Duration: 15 * time.Second}, RenewDeadline: metav1.Duration{Duration: 10 * time.Second}, RetryPeriod: metav1.Duration{Duration: 2 * time.Second}, - ResourceLock: "endpoints", + ResourceLock: "endpointsleases", ResourceNamespace: "kube-system", ResourceName: "kube-scheduler", }, diff --git a/pkg/controller/apis/config/v1alpha1/defaults.go b/pkg/controller/apis/config/v1alpha1/defaults.go index 207145a341b..6074d55a009 100644 --- a/pkg/controller/apis/config/v1alpha1/defaults.go +++ b/pkg/controller/apis/config/v1alpha1/defaults.go @@ -126,6 +126,10 @@ func RecommendedDefaultGenericControllerManagerConfiguration(obj *kubectrlmgrcon obj.Controllers = []string{"*"} } + if len(obj.LeaderElection.ResourceLock) == 0 { + obj.LeaderElection.ResourceLock = "endpointsleases" + } + // Use the default ClientConnectionConfiguration and LeaderElectionConfiguration options componentbaseconfigv1alpha1.RecommendedDefaultClientConnectionConfiguration(&obj.ClientConnection) componentbaseconfigv1alpha1.RecommendedDefaultLeaderElectionConfiguration(&obj.LeaderElection) diff --git a/pkg/scheduler/apis/config/v1alpha1/defaults.go b/pkg/scheduler/apis/config/v1alpha1/defaults.go index f16a9df40b8..f7e61ce9cbb 100644 --- a/pkg/scheduler/apis/config/v1alpha1/defaults.go +++ b/pkg/scheduler/apis/config/v1alpha1/defaults.go @@ -73,6 +73,9 @@ func SetDefaults_KubeSchedulerConfiguration(obj *kubeschedulerconfigv1alpha1.Kub obj.MetricsBindAddress = net.JoinHostPort("0.0.0.0", strconv.Itoa(ports.InsecureSchedulerPort)) } + if len(obj.LeaderElection.ResourceLock) == 0 { + obj.LeaderElection.ResourceLock = "endpointsleases" + } if len(obj.LeaderElection.LockObjectNamespace) == 0 && len(obj.LeaderElection.ResourceNamespace) == 0 { obj.LeaderElection.LockObjectNamespace = kubeschedulerconfigv1alpha1.SchedulerDefaultLockObjectNamespace } diff --git a/staging/src/k8s.io/component-base/config/v1alpha1/defaults.go b/staging/src/k8s.io/component-base/config/v1alpha1/defaults.go index caeb869a37e..258e9db4570 100644 --- a/staging/src/k8s.io/component-base/config/v1alpha1/defaults.go +++ b/staging/src/k8s.io/component-base/config/v1alpha1/defaults.go @@ -44,6 +44,7 @@ func RecommendedDefaultLeaderElectionConfiguration(obj *LeaderElectionConfigurat obj.RetryPeriod = metav1.Duration{Duration: 2 * time.Second} } if obj.ResourceLock == "" { + // TODO: Migrate to LeaseLock. obj.ResourceLock = EndpointsResourceLock } if obj.LeaderElect == nil {