예제 #1
0
// 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
}
예제 #2
0
func main() {
	runtime.GOMAXPROCS(runtime.NumCPU())

	s := service.NewKubeletExecutorServer()
	s.AddStandaloneFlags(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)
	}
}
예제 #3
0
파일: server.go 프로젝트: Ima8/kubernetes
// 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
		done:                  make(chan struct{}),
		exit:                  make(chan error),

		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
}