Просмотр исходного кода

feat: add healthz check for liveness probe to cert and webhook (#6319)

Gergely Bräutigam 1 месяц назад
Родитель
Сommit
36d1676d34
2 измененных файлов с 10 добавлено и 0 удалено
  1. 5 0
      cmd/controller/certcontroller.go
  2. 5 0
      cmd/controller/webhook.go

+ 5 - 0
cmd/controller/certcontroller.go

@@ -32,6 +32,7 @@ import (
 	ctrl "sigs.k8s.io/controller-runtime"
 	"sigs.k8s.io/controller-runtime/pkg/cache"
 	"sigs.k8s.io/controller-runtime/pkg/client"
+	"sigs.k8s.io/controller-runtime/pkg/healthz"
 	"sigs.k8s.io/controller-runtime/pkg/log/zap"
 	"sigs.k8s.io/controller-runtime/pkg/metrics/server"
 	"sigs.k8s.io/controller-runtime/pkg/webhook"
@@ -136,6 +137,10 @@ var certcontrollerCmd = &cobra.Command{
 			os.Exit(1)
 		}
 
+		if err := mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil {
+			setupLog.Error(err, "unable to add cert controller healthz check")
+			os.Exit(1)
+		}
 		err = mgr.AddReadyzCheck("crd-inject", crdctrl.ReadyCheck)
 		if err != nil {
 			setupLog.Error(err, "unable to add crd readyz check")

+ 5 - 0
cmd/controller/webhook.go

@@ -31,6 +31,7 @@ import (
 	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
 	clientgoscheme "k8s.io/client-go/kubernetes/scheme"
 	ctrl "sigs.k8s.io/controller-runtime"
+	"sigs.k8s.io/controller-runtime/pkg/healthz"
 	"sigs.k8s.io/controller-runtime/pkg/metrics/server"
 	"sigs.k8s.io/controller-runtime/pkg/webhook"
 
@@ -161,6 +162,10 @@ var webhookCmd = &cobra.Command{
 			os.Exit(1)
 		}
 
+		if err := mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil {
+			setupLog.Error(err, "unable to add webhook healthz check")
+			os.Exit(1)
+		}
 		err = mgr.AddReadyzCheck("certs", func(_ *http.Request) error {
 			return crds.CheckCerts(c, dnsName, time.Now().Add(time.Hour))
 		})