Enabled leader election based leases

Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
This commit is contained in:
Humble Chirammal 2023-04-06 14:25:57 +05:30
parent d149b3d317
commit c0005241d3
2 changed files with 4 additions and 9 deletions

View File

@ -36,7 +36,7 @@ import (
"k8s.io/client-go/rest" "k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd"
storagehelpers "k8s.io/component-helpers/storage/volume" storagehelpers "k8s.io/component-helpers/storage/volume"
"sigs.k8s.io/sig-storage-lib-external-provisioner/v6/controller" "sigs.k8s.io/sig-storage-lib-external-provisioner/v8/controller"
) )
const ( const (
@ -245,13 +245,6 @@ func main() {
glog.Fatalf("Failed to create client: %v", err) glog.Fatalf("Failed to create client: %v", err)
} }
// The controller needs to know what the server version is because out-of-tree
// provisioners aren't officially supported until 1.5
serverVersion, err := clientset.Discovery().ServerVersion()
if err != nil {
glog.Fatalf("Error getting server version: %v", err)
}
leaderElection := true leaderElection := true
leaderElectionEnv := os.Getenv("ENABLE_LEADER_ELECTION") leaderElectionEnv := os.Getenv("ENABLE_LEADER_ELECTION")
if leaderElectionEnv != "" { if leaderElectionEnv != "" {
@ -271,7 +264,6 @@ func main() {
pc := controller.NewProvisionController(clientset, pc := controller.NewProvisionController(clientset,
provisionerName, provisionerName,
clientNFSProvisioner, clientNFSProvisioner,
serverVersion.GitVersion,
controller.LeaderElection(leaderElection), controller.LeaderElection(leaderElection),
) )
// Never stops. // Never stops.

View File

@ -50,6 +50,9 @@ rules:
- apiGroups: [""] - apiGroups: [""]
resources: ["endpoints"] resources: ["endpoints"]
verbs: ["get", "list", "watch", "create", "update", "patch"] verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "create", "update"]
--- ---
kind: RoleBinding kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1