Skip to content

Commit 302f85d

Browse files
committed
manager: add liveness/readiness probes
1 parent 66da166 commit 302f85d

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

cmd/manager/main.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
"k8s.io/klog"
2424
"sigs.k8s.io/controller-runtime/pkg/client/config"
25+
"sigs.k8s.io/controller-runtime/pkg/healthz"
2526
"sigs.k8s.io/controller-runtime/pkg/manager"
2627
"sigs.k8s.io/controller-runtime/pkg/runtime/signals"
2728

@@ -33,8 +34,14 @@ import (
3334
"sigs.k8s.io/cluster-api-provider-ibmcloud/pkg/record"
3435
)
3536

37+
var (
38+
//flags
39+
healthAddr string
40+
)
41+
3642
func main() {
3743
klog.InitFlags(nil)
44+
flag.StringVar(&healthAddr, "health-addr", ":9440", "The address the health endpoint binds to.")
3845
flag.Parse()
3946

4047
klog.Info("Starting controller of IBM cloud provider for cluster api")
@@ -46,7 +53,8 @@ func main() {
4653

4754
// Setup a Manager
4855
mgr, err := manager.New(cfg, manager.Options{
49-
LeaderElectionID: "controller-leader-election-cluster-api-provider-ibmcloud",
56+
LeaderElectionID: "controller-leader-election-cluster-api-provider-ibmcloud",
57+
HealthProbeBindAddress: healthAddr,
5058
})
5159
if err != nil {
5260
klog.Fatalf("unable to set up overall controller manager: %v", err)
@@ -66,6 +74,14 @@ func main() {
6674
klog.Fatalf("Error initializing controllers: %v", err)
6775
}
6876

77+
if err := mgr.AddReadyzCheck("ping", healthz.Ping); err != nil {
78+
klog.Fatalf("unable to create health check: %v", err)
79+
}
80+
81+
if err := mgr.AddHealthzCheck("ping", healthz.Ping); err != nil {
82+
klog.Fatalf("unable to create health check: %v", err)
83+
}
84+
6985
if err := mgr.Start(signals.SetupSignalHandler()); err != nil {
7086
klog.Fatalf("Failed starting controller: %v", err)
7187
}

config/manager/manager.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,17 @@ spec:
7171
cpu: 100m
7272
memory: 20Mi
7373
ports:
74+
- containerPort: 9440
75+
name: healthz
76+
protocol: TCP
77+
readinessProbe:
78+
httpGet:
79+
path: /readyz
80+
port: healthz
81+
livenessProbe:
82+
httpGet:
83+
path: /healthz
84+
port: healthz
7485
volumeMounts:
7586
- mountPath: /etc/ibmcloud/
7687
readOnly: true

0 commit comments

Comments
 (0)