// NewProxyCommand provides a CLI handler for the 'proxy' command func NewProxyCommand(name, fullName string, out io.Writer) *cobra.Command { proxyConfig := app.NewProxyConfig() cmd := &cobra.Command{ Use: name, Short: "Launch Kubernetes proxy (kube-proxy)", Long: proxyLong, Run: func(c *cobra.Command, args []string) { startProfiler() util.InitLogs() defer util.FlushLogs() s, err := app.NewProxyServerDefault(proxyConfig) kcmdutil.CheckErr(err) if err := s.Run(pflag.CommandLine.Args()); err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } }, } cmd.SetOutput(out) flags := cmd.Flags() flags.SetNormalizeFunc(util.WordSepNormalizeFunc) flags.AddGoFlagSet(flag.CommandLine) proxyConfig.AddFlags(flags) return cmd }
func main() { config := options.NewProxyConfig() config.AddFlags(pflag.CommandLine) flag.InitFlags() logs.InitLogs() defer logs.FlushLogs() verflag.PrintAndExitIfRequested() s, err := app.NewProxyServerDefault(config) if err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } if err = s.Run(); err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } }
func main() { runtime.GOMAXPROCS(runtime.NumCPU()) config := app.NewProxyConfig() config.AddFlags(pflag.CommandLine) util.InitFlags() util.InitLogs() defer util.FlushLogs() verflag.PrintAndExitIfRequested() s, err := app.NewProxyServerDefault(config) if err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } if err = s.Run(pflag.CommandLine.Args()); err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } }
func NewKubeProxy() *Server { config := kubeproxy.NewProxyConfig() hks := Server{ SimpleUsage: hyperkube.CommandProxy, Long: `The Kubernetes proxy server is responsible for taking traffic directed at services and forwarding it to the appropriate pods. It generally runs on nodes next to the Kubelet and proxies traffic from local pods to remote pods. It is also used when handling incoming external traffic.`, } config.AddFlags(hks.Flags()) hks.Run = func(_ *Server, args []string) error { s, err := kubeproxy.NewProxyServerDefault(config) if err != nil { return err } return s.Run(args) } return &hks }