Skip to content

Commit e278e69

Browse files
committed
feat: Implement probes for all services
1 parent 407ac52 commit e278e69

File tree

3 files changed

+56
-1
lines changed

3 files changed

+56
-1
lines changed

operator/charts/helm/zookeeper-service/templates/deployment.yaml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,26 @@ spec:
5353
memory: {{ default "128Mi" .Values.operator.resources.requests.memory }}
5454
securityContext:
5555
{{- include "zookeeper-service.globalContainerSecurityContext" . | nindent 12 }}
56+
livenessProbe:
57+
httpGet:
58+
path: /healthz
59+
port: 8081
60+
scheme: HTTP
61+
initialDelaySeconds: 30
62+
timeoutSeconds: 5
63+
periodSeconds: 15
64+
successThreshold: 1
65+
failureThreshold: 5
66+
readinessProbe:
67+
httpGet:
68+
path: /readyz
69+
port: 8081
70+
scheme: HTTP
71+
initialDelaySeconds: 40
72+
timeoutSeconds: 15
73+
periodSeconds: 15
74+
successThreshold: 1
75+
failureThreshold: 5
5676
{{- if .Values.operator.affinity }}
5777
affinity:
5878
{{ .Values.operator.affinity | toJson }}
@@ -68,4 +88,4 @@ spec:
6888
{{- include "zookeeper-service.globalPodSecurityContext" . | nindent 8 }}
6989
{{- with .Values.operator.securityContext }}
7090
{{- toYaml . | nindent 8 -}}
71-
{{- end }}
91+
{{- end }}

operator/charts/helm/zookeeper-service/templates/integration_tests/deployment.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,14 @@ spec:
159159
periodSeconds: 20
160160
successThreshold: 1
161161
failureThreshold: 5
162+
livenessProbe:
163+
tcpSocket:
164+
port: 8080
165+
initialDelaySeconds: 20
166+
timeoutSeconds: 5
167+
periodSeconds: 20
168+
successThreshold: 1
169+
failureThreshold: 5
162170
volumes:
163171
- name: output
164172
emptyDir: {}

operator/controllers/provider/monitoring_provider.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
appsv1 "k8s.io/api/apps/v1"
2323
corev1 "k8s.io/api/core/v1"
2424
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
25+
"k8s.io/apimachinery/pkg/util/intstr"
2526
"strconv"
2627
)
2728

@@ -178,6 +179,8 @@ func (mrp MonitoringResourceProvider) NewMonitoringDeployment() *appsv1.Deployme
178179
Command: mrp.getCommand(),
179180
Args: mrp.getArgs(),
180181
SecurityContext: getDefaultContainerSecurityContext(),
182+
LivenessProbe: mrp.getLivenessProbe(),
183+
ReadinessProbe: mrp.getReadinessProbe(),
181184
},
182185
},
183186
SecurityContext: &mrp.spec.SecurityContext,
@@ -340,3 +343,27 @@ func (mrp MonitoringResourceProvider) GetMonitoringCustomLabels(monitoringLabels
340343
func (mrp MonitoringResourceProvider) GetServiceAccountName() string {
341344
return mrp.GetServiceName()
342345
}
346+
347+
func (mrp MonitoringResourceProvider) getLivenessProbe() *corev1.Probe {
348+
probe := mrp.getProbe()
349+
probe.Handler = corev1.Handler{
350+
TCPSocket: &corev1.TCPSocketAction{
351+
Port: intstr.FromInt(8096),
352+
},
353+
}
354+
return probe
355+
}
356+
357+
func (mrp MonitoringResourceProvider) getReadinessProbe() *corev1.Probe {
358+
return mrp.getLivenessProbe()
359+
}
360+
361+
func (mrp MonitoringResourceProvider) getProbe() *corev1.Probe {
362+
return &corev1.Probe{
363+
InitialDelaySeconds: 30,
364+
TimeoutSeconds: 5,
365+
PeriodSeconds: 10,
366+
SuccessThreshold: 1,
367+
FailureThreshold: 5,
368+
}
369+
}

0 commit comments

Comments
 (0)