func main() { flag.Parse() util.InitLogs() defer util.FlushLogs() rand.Seed(time.Now().UTC().UnixNano()) verflag.PrintAndExitIfRequested() setupRunOnce() if err := util.ApplyOomScoreAdj(*oomScoreAdj); err != nil { glog.Info(err) } client, err := standalone.GetAPIServerClient(*authPath, apiServerList) if err != nil && len(apiServerList) > 0 { glog.Warningf("No API client: %v", err) } kcfg := standalone.KubeletConfig{ Address: address, AllowPrivileged: *allowPrivileged, HostnameOverride: *hostnameOverride, RootDirectory: *rootDirectory, ConfigFile: *config, ManifestURL: *manifestURL, FileCheckFrequency: *fileCheckFrequency, HttpCheckFrequency: *httpCheckFrequency, NetworkContainerImage: *networkContainerImage, SyncFrequency: *syncFrequency, RegistryPullQPS: *registryPullQPS, RegistryBurst: *registryBurst, MinimumGCAge: *minimumGCAge, MaxContainerCount: *maxContainerCount, ClusterDomain: *clusterDomain, ClusterDNS: clusterDNS, Runonce: *runonce, Port: *port, CAdvisorPort: *cAdvisorPort, EnableServer: *enableServer, EnableDebuggingHandlers: *enableDebuggingHandlers, DockerClient: util.ConnectToDockerOrDie(*dockerEndpoint), KubeClient: client, EtcdClient: kubelet.EtcdClientOrDie(etcdServerList, *etcdConfigFile), MasterServiceNamespace: *masterServiceNamespace, } standalone.RunKubelet(&kcfg) // runs forever select {} }
func main() { util.InitFlags() util.InitLogs() util.ReallyCrash = *reallyCrashForTesting defer util.FlushLogs() rand.Seed(time.Now().UTC().UnixNano()) verflag.PrintAndExitIfRequested() // Cluster creation scripts support both kubernetes versions that 1) support kublet watching // apiserver for pods, and 2) ones that don't. So they ca set both --etcd_servers and // --api_servers. The current code will ignore the --etcd_servers flag, while older kubelet // code will use the --etd_servers flag for pods, and use --api_servers for event publising. // // TODO(erictune): convert all cloud provider scripts and Google Container Engine to // use only --api_servers, then delete --etcd_servers flag and the resulting dead code. if len(etcdServerList) > 0 && len(apiServerList) > 0 { glog.Infof("Both --etcd_servers and --api_servers are set. Not using etcd source.") etcdServerList = util.StringList{} } setupRunOnce() if err := util.ApplyOomScoreAdj(*oomScoreAdj); err != nil { glog.Info(err) } client, err := standalone.GetAPIServerClient(*authPath, apiServerList) if err != nil && len(apiServerList) > 0 { glog.Warningf("No API client: %v", err) } kcfg := standalone.KubeletConfig{ Address: address, AllowPrivileged: *allowPrivileged, HostnameOverride: *hostnameOverride, RootDirectory: *rootDirectory, ConfigFile: *config, ManifestURL: *manifestURL, FileCheckFrequency: *fileCheckFrequency, HttpCheckFrequency: *httpCheckFrequency, NetworkContainerImage: *networkContainerImage, SyncFrequency: *syncFrequency, RegistryPullQPS: *registryPullQPS, RegistryBurst: *registryBurst, MinimumGCAge: *minimumGCAge, MaxContainerCount: *maxContainerCount, ClusterDomain: *clusterDomain, ClusterDNS: clusterDNS, Runonce: *runonce, Port: *port, CAdvisorPort: *cAdvisorPort, EnableServer: *enableServer, EnableDebuggingHandlers: *enableDebuggingHandlers, DockerClient: util.ConnectToDockerOrDie(*dockerEndpoint), KubeClient: client, EtcdClient: kubelet.EtcdClientOrDie(etcdServerList, *etcdConfigFile), MasterServiceNamespace: *masterServiceNamespace, VolumePlugins: app.ProbeVolumePlugins(), } standalone.RunKubelet(&kcfg) // runs forever select {} }