diff --git a/cmd/kube-controller-manager/app/config/config.go b/cmd/kube-controller-manager/app/config/config.go index d3125b4a512..c5ae3348370 100644 --- a/cmd/kube-controller-manager/app/config/config.go +++ b/cmd/kube-controller-manager/app/config/config.go @@ -40,9 +40,6 @@ type Config struct { // the general kube client Client *clientset.Clientset - // the client only used for leader election - LeaderElectionClient *clientset.Clientset - // the rest config for the master Kubeconfig *restclient.Config diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index 5bc022dd2f0..75153576a0b 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -270,15 +270,15 @@ func Run(c *config.CompletedConfig, stopCh <-chan struct{}) error { // add a uniquifier so that two processes on the same host don't accidentally both become active id = id + "_" + string(uuid.NewUUID()) - rl, err := resourcelock.New(c.ComponentConfig.Generic.LeaderElection.ResourceLock, + rl, err := resourcelock.NewFromKubeconfig(c.ComponentConfig.Generic.LeaderElection.ResourceLock, c.ComponentConfig.Generic.LeaderElection.ResourceNamespace, c.ComponentConfig.Generic.LeaderElection.ResourceName, - c.LeaderElectionClient.CoreV1(), - c.LeaderElectionClient.CoordinationV1(), resourcelock.ResourceLockConfig{ Identity: id, EventRecorder: c.EventRecorder, - }) + }, + c.Kubeconfig, + c.ComponentConfig.Generic.LeaderElection.RenewDeadline.Duration) if err != nil { klog.Fatalf("error creating lock: %v", err) } diff --git a/cmd/kube-controller-manager/app/options/options.go b/cmd/kube-controller-manager/app/options/options.go index d0475bd0c20..bbc03b8674e 100644 --- a/cmd/kube-controller-manager/app/options/options.go +++ b/cmd/kube-controller-manager/app/options/options.go @@ -441,18 +441,12 @@ func (s KubeControllerManagerOptions) Config(allControllers []string, disabledBy return nil, err } - // shallow copy, do not modify the kubeconfig.Timeout. - config := *kubeconfig - config.Timeout = s.Generic.LeaderElection.RenewDeadline.Duration - leaderElectionClient := clientset.NewForConfigOrDie(restclient.AddUserAgent(&config, "leader-election")) - eventRecorder := createRecorder(client, KubeControllerManagerUserAgent) c := &kubecontrollerconfig.Config{ - Client: client, - Kubeconfig: kubeconfig, - EventRecorder: eventRecorder, - LeaderElectionClient: leaderElectionClient, + Client: client, + Kubeconfig: kubeconfig, + EventRecorder: eventRecorder, } if err := s.ApplyTo(c); err != nil { return nil, err