func main() { var kubeClient *unversioned.Client flags.AddGoFlagSet(flag.CommandLine) flags.Parse(os.Args) clientConfig := kubectl_util.DefaultClientConfig(flags) glog.Infof("Using build: %v - %v", gitRepo, version) if *buildCfg { fmt.Printf("Example of ConfigMap to customize NGINX configuration:\n%v", nginx.ConfigMapAsString()) os.Exit(0) } if *defaultSvc == "" { glog.Fatalf("Please specify --default-backend-service") } var err error if *inCluster { kubeClient, err = unversioned.NewInCluster() } else { config, connErr := clientConfig.ClientConfig() if connErr != nil { glog.Fatalf("error connecting to the client: %v", err) } kubeClient, err = unversioned.New(config) } if err != nil { glog.Fatalf("failed to create client: %v", err) } runtimePodInfo := &podInfo{NodeIP: "127.0.0.1"} if *inCluster { runtimePodInfo, err = getPodDetails(kubeClient) if err != nil { glog.Fatalf("unexpected error getting runtime information: %v", err) } } if err := isValidService(kubeClient, *defaultSvc); err != nil { glog.Fatalf("no service with name %v found: %v", *defaultSvc, err) } glog.Infof("Validated %v as the default backend", *defaultSvc) lbc, err := newLoadBalancerController(kubeClient, *resyncPeriod, *defaultSvc, *watchNamespace, *nxgConfigMap, *tcpConfigMapName, *udpConfigMapName, runtimePodInfo) if err != nil { glog.Fatalf("%v", err) } go registerHandlers(lbc) go handleSigterm(lbc) lbc.Run() for { glog.Infof("Handled quit, awaiting pod deletion") time.Sleep(30 * time.Second) } }
func main() { flags.AddGoFlagSet(flag.CommandLine) flags.Parse(os.Args) if *buildCfg { fmt.Printf("Example of ConfigMap to customize NGINX configuration:\n%v", nginx.ConfigMapAsString()) os.Exit(0) } if *defaultSvc == "" { glog.Fatalf("Please specify --default-backend") } kubeClient, err := unversioned.NewInCluster() if err != nil { glog.Fatalf("failed to create client: %v", err) } lbInfo, err := getLBDetails(kubeClient) if err != nil { glog.Fatalf("unexpected error getting runtime information: %v", err) } err = isValidService(kubeClient, *defaultSvc) if err != nil { glog.Fatalf("no service with name %v found: %v", *defaultSvc, err) } lbc, err := newLoadBalancerController(kubeClient, *resyncPeriod, *defaultSvc, *watchNamespace, *nxgConfigMap, *tcpConfigMapName, *udpConfigMapName, lbInfo) if err != nil { glog.Fatalf("%v", err) } go registerHandlers(lbc) lbc.Run() for { glog.Infof("Handled quit, awaiting pod deletion") time.Sleep(30 * time.Second) } }