mirror of
https://github.com/kubernetes-sigs/prometheus-adapter.git
synced 2026-04-06 01:38:10 +00:00
cmd/adapter: add signal handler
Add a signal handler stopping the adapter if it receives a SIGINT or SIGTERM signal. This prevent the prometheus-adapter pod from being stuck in "Terminating" state. Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
This commit is contained in:
parent
976c38aee4
commit
9db8d2f731
1 changed files with 6 additions and 4 deletions
|
|
@ -27,7 +27,6 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
|
||||||
openapinamer "k8s.io/apiserver/pkg/endpoints/openapi"
|
openapinamer "k8s.io/apiserver/pkg/endpoints/openapi"
|
||||||
genericapiserver "k8s.io/apiserver/pkg/server"
|
genericapiserver "k8s.io/apiserver/pkg/server"
|
||||||
"k8s.io/client-go/rest"
|
"k8s.io/client-go/rest"
|
||||||
|
|
@ -280,8 +279,11 @@ func main() {
|
||||||
klog.Fatalf("unable to load metrics discovery config: %v", err)
|
klog.Fatalf("unable to load metrics discovery config: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// stop channel closed on SIGTERM and SIGINT
|
||||||
|
stopCh := genericapiserver.SetupSignalHandler()
|
||||||
|
|
||||||
// construct the provider
|
// construct the provider
|
||||||
cmProvider, err := cmd.makeProvider(promClient, wait.NeverStop)
|
cmProvider, err := cmd.makeProvider(promClient, stopCh)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Fatalf("unable to construct custom metrics provider: %v", err)
|
klog.Fatalf("unable to construct custom metrics provider: %v", err)
|
||||||
}
|
}
|
||||||
|
|
@ -292,7 +294,7 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// construct the external provider
|
// construct the external provider
|
||||||
emProvider, err := cmd.makeExternalProvider(promClient, wait.NeverStop)
|
emProvider, err := cmd.makeExternalProvider(promClient, stopCh)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Fatalf("unable to construct external metrics provider: %v", err)
|
klog.Fatalf("unable to construct external metrics provider: %v", err)
|
||||||
}
|
}
|
||||||
|
|
@ -308,7 +310,7 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// run the server
|
// run the server
|
||||||
if err := cmd.Run(wait.NeverStop); err != nil {
|
if err := cmd.Run(stopCh); err != nil {
|
||||||
klog.Fatalf("unable to run custom metrics adapter: %v", err)
|
klog.Fatalf("unable to run custom metrics adapter: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue