This is an automated email from the ASF dual-hosted git repository.
jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 96ef43f6ef [HELM]: Added additional probes options and startup probe.
(#13165)
96ef43f6ef is described below
commit 96ef43f6eff6e41ab6ca3747f8dcb9251679191b
Author: Abhishek Sharma <[email protected]>
AuthorDate: Thu May 23 18:06:37 2024 -0400
[HELM]: Added additional probes options and startup probe. (#13165)
---
helm/pinot/templates/broker/statefulset.yaml | 25 ++++-
helm/pinot/templates/controller/statefulset.yaml | 25 ++++-
.../templates/minion-stateless/deployment.yaml | 25 ++++-
helm/pinot/templates/minion/statefulset.yaml | 25 ++++-
helm/pinot/templates/server/statefulset.yaml | 37 ++++---
helm/pinot/values.yaml | 114 +++++++++++++++++++++
6 files changed, 221 insertions(+), 30 deletions(-)
diff --git a/helm/pinot/templates/broker/statefulset.yaml
b/helm/pinot/templates/broker/statefulset.yaml
index 9e4f6a2370..d9b950ce45 100644
--- a/helm/pinot/templates/broker/statefulset.yaml
+++ b/helm/pinot/templates/broker/statefulset.yaml
@@ -91,16 +91,33 @@ spec:
{{- end }}
{{- if .Values.broker.probes.livenessEnabled }}
livenessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.broker.probes.liveness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.broker.probes.liveness.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{ .Values.broker.probes.liveness.failureThreshold
| default .Values.probes.failureThreshold }}
+ successThreshold: {{ .Values.broker.probes.liveness.successThreshold
| default .Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.broker.probes.liveness.timeoutSeconds |
default .Values.probes.timeoutSeconds }}
httpGet:
path: {{ .Values.broker.probes.endpoint }}
port: {{ .Values.broker.service.port }}
{{- end }}
{{- if .Values.broker.probes.readinessEnabled }}
readinessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.broker.probes.readiness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.broker.probes.readiness.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{
.Values.broker.probes.readiness.failureThreshold | default
.Values.probes.failureThreshold }}
+ successThreshold: {{
.Values.broker.probes.readiness.successThreshold | default
.Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.broker.probes.readiness.timeoutSeconds |
default .Values.probes.timeoutSeconds }}
+ httpGet:
+ path: {{ .Values.broker.probes.endpoint }}
+ port: {{ .Values.broker.service.port }}
+ {{- end }}
+ {{- if .Values.broker.probes.startupEnabled }}
+ startupProbe:
+ initialDelaySeconds: {{
.Values.broker.probes.startup.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.broker.probes.startup.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{ .Values.broker.probes.startup.failureThreshold
| default .Values.probes.failureThreshold }}
+ successThreshold:{{ .Values.broker.probes.startup.successThreshold |
default .Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.broker.probes.startup.timeoutSeconds |
default .Values.probes.timeoutSeconds }}
httpGet:
path: {{ .Values.broker.probes.endpoint }}
port: {{ .Values.broker.service.port }}
diff --git a/helm/pinot/templates/controller/statefulset.yaml
b/helm/pinot/templates/controller/statefulset.yaml
index 0bc85e217c..b298562b5a 100644
--- a/helm/pinot/templates/controller/statefulset.yaml
+++ b/helm/pinot/templates/controller/statefulset.yaml
@@ -80,16 +80,33 @@ spec:
{{- end }}
{{- if .Values.controller.probes.livenessEnabled }}
livenessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.controller.probes.liveness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds:{{ .Values.controller.probes.liveness.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{
.Values.controller.probes.liveness.failureThreshold | default
.Values.probes.failureThreshold }}
+ successThreshold: {{
.Values.controller.probes.liveness.successThreshold | default
.Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.controller.probes.liveness.timeoutSeconds
| default .Values.probes.timeoutSeconds }}
httpGet:
path: {{ .Values.controller.probes.endpoint }}
port: {{ .Values.controller.service.port }}
{{- end }}
{{- if .Values.controller.probes.readinessEnabled }}
readinessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.controller.probes.readiness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.controller.probes.readiness.periodSeconds
| default .Values.probes.periodSeconds }}
+ failureThreshold: {{
.Values.controller.probes.readiness.failureThreshold | default
.Values.probes.failureThreshold }}
+ successThreshold: {{
.Values.controller.probes.readiness.successThreshold | default
.Values.probes.successThreshold }}
+ timeoutSeconds: {{
.Values.controller.probes.readiness.timeoutSeconds | default
.Values.probes.timeoutSeconds }}
+ httpGet:
+ path: {{ .Values.controller.probes.endpoint }}
+ port: {{ .Values.controller.service.port }}
+ {{- end }}
+ {{- if .Values.controller.probes.startupEnabled }}
+ startupProbe:
+ initialDelaySeconds: {{
.Values.controller.probes.startup.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.controller.probes.startup.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{
.Values.controller.probes.startup.failureThreshold | default
.Values.probes.failureThreshold }}
+ successThreshold: {{
.Values.controller.probes.startup.successThreshold | default
.Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.controller.probes.startup.timeoutSeconds
| default .Values.probes.timeoutSeconds }}
httpGet:
path: {{ .Values.controller.probes.endpoint }}
port: {{ .Values.controller.service.port }}
diff --git a/helm/pinot/templates/minion-stateless/deployment.yaml
b/helm/pinot/templates/minion-stateless/deployment.yaml
index d68fd40275..4c4a5f4c71 100644
--- a/helm/pinot/templates/minion-stateless/deployment.yaml
+++ b/helm/pinot/templates/minion-stateless/deployment.yaml
@@ -79,20 +79,37 @@ spec:
{{- end }}
{{- if .Values.minionStateless.probes.livenessEnabled }}
livenessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.minionStateless.probes.liveness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{
.Values.minionStateless.probes.liveness.periodSeconds | default
.Values.probes.periodSeconds }}
+ failureThreshold: {{
.Values.minionStateless.probes.liveness.failureThreshold | default
.Values.probes.failureThreshold }}
+ successThreshold: {{
.Values.minionStateless.probes.liveness.successThreshold | default
.Values.probes.successThreshold }}
+ timeoutSeconds: {{
.Values.minionStateless.probes.liveness.timeoutSeconds | default
.Values.probes.timeoutSeconds }}
httpGet:
path: {{ .Values.minionStateless.probes.endpoint }}
port: {{ .Values.minionStateless.service.port }}
{{- end }}
{{- if .Values.minionStateless.probes.readinessEnabled }}
readinessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.minionStateless.probes.readiness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{
.Values.minionStateless.probes.readiness.periodSeconds | default
.Values.probes.periodSeconds }}
+ failureThreshold: {{
.Values.minionStateless.probes.readiness.failureThreshold | default
.Values.probes.failureThreshold }}
+ successThreshold: {{
.Values.minionStateless.probes.readiness.successThreshold | default
.Values.probes.successThreshold }}
+ timeoutSeconds: {{
.Values.minionStateless.probes.readiness.timeoutSeconds | default
.Values.probes.timeoutSeconds }}
httpGet:
path: {{ .Values.minionStateless.probes.endpoint }}
port: {{ .Values.minionStateless.service.port }}
{{- end }}
+ {{- if .Values.minionStateless.probes.startupEnabled }}
+ startupProbe:
+ initialDelaySeconds: {{
.Values.minionStateless.probes.startup.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{
.Values.minionStateless.probes.startup.periodSeconds | default
.Values.probes.periodSeconds }}
+ failureThreshold: {{
.Values.minionStateless.probes.startup.failureThreshold | default
.Values.probes.failureThreshold }}
+ successThreshold: {{
.Values.minionStateless.probes.startup.successThreshold | default
.Values.probes.successThreshold }}
+ timeoutSeconds: {{
.Values.minionStateless.probes.startup.timeoutSeconds | default
.Values.probes.timeoutSeconds }}
+ httpGet:
+ path: {{ .Values.minionStateless.probes.endpoint }}
+ port: {{ .Values.minionStateless.service.port }}
+ {{- end }}
volumeMounts:
- name: config
mountPath: /var/pinot/minion/config
diff --git a/helm/pinot/templates/minion/statefulset.yaml
b/helm/pinot/templates/minion/statefulset.yaml
index c66663def4..61ac896ac9 100644
--- a/helm/pinot/templates/minion/statefulset.yaml
+++ b/helm/pinot/templates/minion/statefulset.yaml
@@ -86,16 +86,33 @@ spec:
{{- end }}
{{- if .Values.minion.probes.livenessEnabled }}
livenessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.minion.probes.liveness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.minion.probes.liveness.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{ .Values.minion.probes.liveness.failureThreshold
| default .Values.probes.failureThreshold }}
+ successThreshold: {{ .Values.minion.probes.liveness.successThreshold
| default .Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.minion.probes.liveness.timeoutSeconds |
default .Values.probes.timeoutSeconds }}
httpGet:
path: {{ .Values.minion.probes.endpoint }}
port: {{ .Values.minion.service.port }}
{{- end }}
{{- if .Values.minion.probes.readinessEnabled }}
readinessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.minion.probes.readiness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.minion.probes.readiness.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{
.Values.minion.probes.readiness.failureThreshold | default
.Values.probes.failureThreshold }}
+ successThreshold: {{
.Values.minion.probes.readiness.successThreshold | default
.Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.minion.probes.readiness.timeoutSeconds |
default .Values.probes.timeoutSeconds }}
+ httpGet:
+ path: {{ .Values.minion.probes.endpoint }}
+ port: {{ .Values.minion.service.port }}
+ {{- end }}
+ {{- if .Values.minion.probes.startupEnabled }}
+ startupProbe:
+ initialDelaySeconds: {{
.Values.minion.probes.startup.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.minion.probes.startup.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{ .Values.minion.probes.startup.failureThreshold
| default .Values.probes.failureThreshold }}
+ successThreshold: {{ .Values.minion.probes.startup.successThreshold
| default .Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.minion.probes.startup.timeoutSeconds |
default .Values.probes.timeoutSeconds }}
httpGet:
path: {{ .Values.minion.probes.endpoint }}
port: {{ .Values.minion.service.port }}
diff --git a/helm/pinot/templates/server/statefulset.yaml
b/helm/pinot/templates/server/statefulset.yaml
index a6591481e9..94ad39ae93 100644
--- a/helm/pinot/templates/server/statefulset.yaml
+++ b/helm/pinot/templates/server/statefulset.yaml
@@ -88,26 +88,35 @@ spec:
{{- end }}
{{- if .Values.server.probes.livenessEnabled }}
livenessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.server.probes.liveness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.server.probes.liveness.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{ .Values.server.probes.liveness.failureThreshold
| default .Values.probes.failureThreshold }}
+ successThreshold: {{ .Values.server.probes.liveness.successThreshold
| default .Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.server.probes.liveness.timeoutSeconds |
default .Values.probes.timeoutSeconds }}
httpGet:
- {{- if and .Values.server.probes.livenessProbe
.Values.server.probes.livenessProbe.endpoint}}
- path: {{ .Values.server.probes.livenessProbe.endpoint }}
- {{- else }}
- path: {{ .Values.server.probes.endpoint }}
- {{- end }}
+ path: {{ .Values.server.probes.liveness.endpoint | default
.Values.server.probes.endpoint }}
port: {{ .Values.server.service.adminPort }}
{{- end }}
{{- if .Values.server.probes.readinessEnabled }}
readinessProbe:
- initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }}
- periodSeconds: {{ .Values.probes.periodSeconds }}
+ initialDelaySeconds: {{
.Values.server.probes.readiness.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.server.probes.readiness.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{
.Values.server.probes.readiness.failureThreshold | default
.Values.probes.failureThreshold }}
+ successThreshold: {{
.Values.server.probes.readiness.successThreshold | default
.Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.server.probes.readiness.timeoutSeconds |
default .Values.probes.timeoutSeconds }}
httpGet:
- {{- if and .Values.server.probes.readinessProbe
.Values.server.probes.readinessProbe.endpoint}}
- path: {{ .Values.server.probes.readinessProbe.endpoint }}
- {{- else }}
- path: {{ .Values.server.probes.endpoint }}
- {{- end }}
+ path: {{ .Values.server.probes.readiness.endpoint | default
.Values.server.probes.endpoint }}
+ port: {{ .Values.server.service.adminPort }}
+ {{- end }}
+ {{- if .Values.server.probes.startupEnabled }}
+ startupProbe:
+ initialDelaySeconds: {{
.Values.server.probes.startup.initialDelaySeconds | default
.Values.probes.initialDelaySeconds }}
+ periodSeconds: {{ .Values.server.probes.startup.periodSeconds |
default .Values.probes.periodSeconds }}
+ failureThreshold: {{ .Values.server.probes.startup.failureThreshold
| default .Values.probes.failureThreshold }}
+ successThreshold: {{ .Values.server.probes.startup.successThreshold
| default .Values.probes.successThreshold }}
+ timeoutSeconds: {{ .Values.server.probes.startup.timeoutSeconds |
default .Values.probes.timeoutSeconds }}
+ httpGet:
+ path: {{ .Values.server.probes.liveness.endpoint | default
.Values.server.probes.endpoint }}
port: {{ .Values.server.service.adminPort }}
{{- end }}
volumeMounts:
diff --git a/helm/pinot/values.yaml b/helm/pinot/values.yaml
index 17ee1aaf0d..235e963e4f 100644
--- a/helm/pinot/values.yaml
+++ b/helm/pinot/values.yaml
@@ -49,9 +49,15 @@ securityContext: {}
# runAsNonRoot: true
# runAsUser: 1000
+# default values of the probes i.e. liveness and readiness.
+# customization of values is present at the component level.
probes:
initialDelaySeconds: 60
periodSeconds: 10
+ failureThreshold: 10
+ # should be 1 for liveness and startup probe, as per K8s doc.
+ successThreshold: 1
+ timeoutSeconds: 10
serviceAccount:
# Specifies whether a service account should be created
@@ -92,6 +98,27 @@ controller:
endpoint: "/health"
livenessEnabled: false
readinessEnabled: false
+ startupEnabled: false
+ liveness:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ readiness:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ startup:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
persistence:
enabled: true
@@ -223,6 +250,27 @@ broker:
endpoint: "/health"
livenessEnabled: true
readinessEnabled: true
+ startupEnabled: false
+ liveness:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ readiness:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ startup:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
persistence:
extraVolumes: []
@@ -330,6 +378,30 @@ server:
endpoint: "/health"
livenessEnabled: false
readinessEnabled: false
+ startupEnabled: false
+ liveness:
+ endpoint: "/health/liveness"
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ readiness:
+ endpoint: "/health/readiness"
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ startup:
+ endpoint: "/health/liveness"
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
dataDir: /var/pinot/server/data/index
segmentTarDir: /var/pinot/server/data/segment
@@ -434,6 +506,27 @@ minion:
endpoint: "/health"
livenessEnabled: true
readinessEnabled: true
+ startupEnabled: false
+ liveness:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ readiness:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ startup:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
dataDir: /var/pinot/minion/data
jvmOpts: "-XX:ActiveProcessorCount=2 -Xms256M -Xmx1G -XX:+UseG1GC
-XX:MaxGCPauseMillis=200 -Xlog:gc*:file=/opt/pinot/gc-pinot-minion.log"
@@ -524,6 +617,27 @@ minionStateless:
endpoint: "/health"
livenessEnabled: true
readinessEnabled: true
+ startupEnabled: true
+ liveness:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ readiness:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
+
+ startup:
+ initialDelaySeconds: 60
+ failureThreshold: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ periodSeconds: 10
dataDir: /var/pinot/minion/data
jvmOpts: "-XX:ActiveProcessorCount=2 -Xms256M -Xmx1G -XX:+UseG1GC
-XX:MaxGCPauseMillis=200 -Xlog:gc*:file=/opt/pinot/gc-pinot-minion.log"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]