main: graceful shutdown
Signed-off-by: Mathis Raguin <mathis@cri.epita.fr>
This commit is contained in:
parent
56ce7ed701
commit
e38b7aaefe
33
main.go
33
main.go
|
|
@ -148,39 +148,48 @@ func main() {
|
||||||
// Run MetricsHandler
|
// Run MetricsHandler
|
||||||
{
|
{
|
||||||
g.Add(func() error {
|
g.Add(func() error {
|
||||||
err = m.Run(ctx)
|
klog.Errorf("metricshandler error: %v", m.Run(ctx))
|
||||||
klog.Errorf("metricshandler error: %v", err)
|
return ctx.Err()
|
||||||
return err
|
|
||||||
}, func(error) {
|
}, func(error) {
|
||||||
ctx.Done()
|
//cancel()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
telemetryMux := buildTelemetryServer(ksmMetricsRegistry)
|
telemetryMux := buildTelemetryServer(ksmMetricsRegistry)
|
||||||
|
telemetryServer := http.Server{Handler: telemetryMux}
|
||||||
|
telemetryListenAddress := net.JoinHostPort(opts.TelemetryHost, strconv.Itoa(opts.TelemetryPort))
|
||||||
|
telemetryLn, err := net.Listen("tcp", telemetryListenAddress)
|
||||||
|
if err != nil {
|
||||||
|
klog.Fatalf("Failed to create Telemetry Listener: %v", err)
|
||||||
|
}
|
||||||
metricsMux := buildMetricsServer(kubeClient, storeBuilder, m, opts)
|
metricsMux := buildMetricsServer(kubeClient, storeBuilder, m, opts)
|
||||||
|
metricsServer := http.Server{Handler: metricsMux}
|
||||||
|
metricsServerListenAddress := net.JoinHostPort(opts.Host, strconv.Itoa(opts.Port))
|
||||||
|
metricsServerLn, err := net.Listen("tcp", metricsServerListenAddress)
|
||||||
|
if err != nil {
|
||||||
|
klog.Fatalf("Failed to create MetricsServer Listener: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
// Run Telemetry server
|
// Run Telemetry server
|
||||||
{
|
{
|
||||||
g.Add(func() error {
|
g.Add(func() error {
|
||||||
listenAddress := net.JoinHostPort(opts.TelemetryHost, strconv.Itoa(opts.TelemetryPort))
|
klog.Infof("Starting kube-state-metrics self metrics server: %s", telemetryListenAddress)
|
||||||
klog.Infof("Starting kube-state-metrics self metrics server: %s", listenAddress)
|
err = telemetryServer.Serve(telemetryLn)
|
||||||
err = http.ListenAndServe(listenAddress, telemetryMux)
|
|
||||||
klog.Errorf("kube-state-metrics self metrics server error: %v", err)
|
klog.Errorf("kube-state-metrics self metrics server error: %v", err)
|
||||||
return err
|
return err
|
||||||
}, func(error) {
|
}, func(error) {
|
||||||
ctx.Done()
|
telemetryServer.Shutdown(ctx)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// Run Metrics server
|
// Run Metrics server
|
||||||
{
|
{
|
||||||
g.Add(func() error {
|
g.Add(func() error {
|
||||||
listenAddress := net.JoinHostPort(opts.Host, strconv.Itoa(opts.Port))
|
klog.Infof("Starting metrics server: %s", metricsServerListenAddress)
|
||||||
klog.Infof("Starting metrics server: %s", listenAddress)
|
err = metricsServer.Serve(metricsServerLn)
|
||||||
err = http.ListenAndServe(listenAddress, metricsMux)
|
|
||||||
klog.Errorf("metrics server error: %v", err)
|
klog.Errorf("metrics server error: %v", err)
|
||||||
return err
|
return err
|
||||||
}, func(error) {
|
}, func(error) {
|
||||||
ctx.Done()
|
metricsServer.Shutdown(ctx)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue