mirror of https://github.com/k3s-io/k3s.git
parent
763a8bc8fe
commit
2999289e68
|
@ -47,6 +47,7 @@ type Server struct {
|
||||||
KubeConfigMode string
|
KubeConfigMode string
|
||||||
TLSSan cli.StringSlice
|
TLSSan cli.StringSlice
|
||||||
BindAddress string
|
BindAddress string
|
||||||
|
EnablePProf bool
|
||||||
ExtraAPIArgs cli.StringSlice
|
ExtraAPIArgs cli.StringSlice
|
||||||
ExtraEtcdArgs cli.StringSlice
|
ExtraEtcdArgs cli.StringSlice
|
||||||
ExtraSchedulerArgs cli.StringSlice
|
ExtraSchedulerArgs cli.StringSlice
|
||||||
|
@ -239,6 +240,11 @@ var ServerFlags = []cli.Flag{
|
||||||
Destination: &ServerConfig.KubeConfigMode,
|
Destination: &ServerConfig.KubeConfigMode,
|
||||||
EnvVar: version.ProgramUpper + "_KUBECONFIG_MODE",
|
EnvVar: version.ProgramUpper + "_KUBECONFIG_MODE",
|
||||||
},
|
},
|
||||||
|
cli.BoolFlag{
|
||||||
|
Name: "enable-pprof",
|
||||||
|
Usage: "(experimental) Enable pprof endpoint on supervisor port",
|
||||||
|
Destination: &ServerConfig.EnablePProf,
|
||||||
|
},
|
||||||
ExtraAPIArgs,
|
ExtraAPIArgs,
|
||||||
ExtraEtcdArgs,
|
ExtraEtcdArgs,
|
||||||
ExtraControllerArgs,
|
ExtraControllerArgs,
|
||||||
|
|
|
@ -121,6 +121,7 @@ func run(app *cli.Context, cfg *cmds.Server, leaderControllers server.CustomCont
|
||||||
serverConfig.ControlConfig.HTTPSPort = cfg.HTTPSPort
|
serverConfig.ControlConfig.HTTPSPort = cfg.HTTPSPort
|
||||||
serverConfig.ControlConfig.APIServerPort = cfg.APIServerPort
|
serverConfig.ControlConfig.APIServerPort = cfg.APIServerPort
|
||||||
serverConfig.ControlConfig.APIServerBindAddress = cfg.APIServerBindAddress
|
serverConfig.ControlConfig.APIServerBindAddress = cfg.APIServerBindAddress
|
||||||
|
serverConfig.ControlConfig.EnablePProf = cfg.EnablePProf
|
||||||
serverConfig.ControlConfig.ExtraAPIArgs = cfg.ExtraAPIArgs
|
serverConfig.ControlConfig.ExtraAPIArgs = cfg.ExtraAPIArgs
|
||||||
serverConfig.ControlConfig.ExtraControllerArgs = cfg.ExtraControllerArgs
|
serverConfig.ControlConfig.ExtraControllerArgs = cfg.ExtraControllerArgs
|
||||||
serverConfig.ControlConfig.ExtraEtcdArgs = cfg.ExtraEtcdArgs
|
serverConfig.ControlConfig.ExtraEtcdArgs = cfg.ExtraEtcdArgs
|
||||||
|
|
|
@ -9,9 +9,11 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"net/http/pprof"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
|
"github.com/gorilla/mux"
|
||||||
"github.com/k3s-io/k3s/pkg/daemons/config"
|
"github.com/k3s-io/k3s/pkg/daemons/config"
|
||||||
"github.com/k3s-io/k3s/pkg/etcd"
|
"github.com/k3s-io/k3s/pkg/etcd"
|
||||||
"github.com/k3s-io/k3s/pkg/version"
|
"github.com/k3s-io/k3s/pkg/version"
|
||||||
|
@ -94,6 +96,17 @@ func (c *Cluster) initClusterAndHTTPS(ctx context.Context) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if c.config.EnablePProf {
|
||||||
|
mux := mux.NewRouter()
|
||||||
|
mux.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
|
||||||
|
mux.HandleFunc("/debug/pprof/profile", pprof.Profile)
|
||||||
|
mux.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
|
||||||
|
mux.HandleFunc("/debug/pprof/trace", pprof.Trace)
|
||||||
|
mux.PathPrefix("/debug/pprof/").HandlerFunc(pprof.Index)
|
||||||
|
mux.NotFoundHandler = handler
|
||||||
|
handler = mux
|
||||||
|
}
|
||||||
|
|
||||||
// Create a HTTP server with the registered request handlers, using logrus for logging
|
// Create a HTTP server with the registered request handlers, using logrus for logging
|
||||||
server := http.Server{
|
server := http.Server{
|
||||||
Handler: handler,
|
Handler: handler,
|
||||||
|
|
|
@ -166,6 +166,7 @@ type Control struct {
|
||||||
DisableETCD bool
|
DisableETCD bool
|
||||||
DisableKubeProxy bool
|
DisableKubeProxy bool
|
||||||
DisableScheduler bool
|
DisableScheduler bool
|
||||||
|
EnablePProf bool
|
||||||
ExtraAPIArgs []string
|
ExtraAPIArgs []string
|
||||||
ExtraControllerArgs []string
|
ExtraControllerArgs []string
|
||||||
ExtraCloudControllerArgs []string
|
ExtraCloudControllerArgs []string
|
||||||
|
|
Loading…
Reference in New Issue