// NewHyperkubeServer creates a new hyperkube Server object that includes the // description and flags. func NewKubeletExecutor() *Server { s := service.NewKubeletExecutorServer() hks := Server{ SimpleUsage: hyperkube.CommandExecutor, Long: `The kubelet-executor binary is responsible for maintaining a set of containers on a particular node. It syncs data from a specialized Mesos source that tracks task launches and kills. It then queries Docker to see what is currently running. It synchronizes the configuration data, with the running set of containers by starting or stopping Docker containers.`, Run: func(hks *Server, args []string) error { return s.Run(hks, args) }, } s.AddFlags(hks.Flags()) return &hks }
func main() { runtime.GOMAXPROCS(runtime.NumCPU()) s := service.NewKubeletExecutorServer() s.AddFlags(pflag.CommandLine) util.InitFlags() util.InitLogs() defer util.FlushLogs() verflag.PrintAndExitIfRequested() if err := s.Run(hyperkube.Nil(), pflag.CommandLine.Args()); err != nil { fmt.Fprintf(os.Stderr, err.Error()) os.Exit(1) } }
// NewMinionServer creates the MinionServer struct with default values to be used by hyperkube func NewMinionServer() *MinionServer { s := &MinionServer{ KubeletExecutorServer: exservice.NewKubeletExecutorServer(), privateMountNS: false, // disabled until Docker supports customization of the parent mount namespace cgroupPrefix: config.DefaultCgroupPrefix, containPodResources: true, logMaxSize: config.DefaultLogMaxSize(), logMaxBackups: config.DefaultLogMaxBackups, logMaxAgeInDays: config.DefaultLogMaxAgeInDays, runProxy: true, } // cache this for later use binary, err := osext.Executable() if err != nil { log.Fatalf("failed to determine currently running executable: %v", err) } s.kmBinary = binary return s }