Skip to content

Instantly share code, notes, and snippets.

@mayankshah1607
Created October 25, 2021 06:33
Show Gist options
  • Select an option

  • Save mayankshah1607/a63dc156c24e40798cbb2c1763fd2513 to your computer and use it in GitHub Desktop.

Select an option

Save mayankshah1607/a63dc156c24e40798cbb2c1763fd2513 to your computer and use it in GitHub Desktop.
Leader election main function
func main() {
var (
leaseLockName string
leaseLockNamespace string
podName = os.Getenv("POD_NAME")
)
flag.StringVar(&leaseLockName, "lease-name", "", "Name of lease lock")
flag.StringVar(&leaseLockNamespace, "lease-namespace", "default", "Name of lease lock namespace")
flag.Parse()
if leaseLockName == "" {
klog.Fatal("missing lease-name flag")
}
if leaseLockNamespace == "" {
klog.Fatal("missing lease-namespace flag")
}
config, err := rest.InClusterConfig()
client = clientset.NewForConfigOrDie(config)
if err != nil {
klog.Fatalf("failed to get kubeconfig")
}
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
lock := getNewLock(leaseLockName, podName, leaseLockNamespace)
runLeaderElection(lock, ctx, podName)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment