From c3f7b6db7a0397903bee63f8b9a0752540dd56f5 Mon Sep 17 00:00:00 2001 From: Alvin Zhang <105319311+alvinzhangdd@users.noreply.github.com> Date: Wed, 25 Oct 2023 20:44:52 -0700 Subject: [PATCH] Support helm chart server separate liveness and readiness probe endpoints (#11800) * Support helm chart server separate liveness and readiness probe endpoints * Change param naming and add readme --- helm/pinot/README.md | 5 +++++ helm/pinot/templates/server/statefulset.yaml | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/helm/pinot/README.md b/helm/pinot/README.md index 239c5be080b4..93339cf4bfb6 100644 --- a/helm/pinot/README.md +++ b/helm/pinot/README.md @@ -377,6 +377,11 @@ following configurable parameters: | `server.persistence.size` | Size of data volume | `4G` | | `server.persistence.mountPath` | Mount path of server data volume | `/var/pinot/server/data` | | `server.persistence.storageClass` | Storage class of backing PVC | `""` | +| `server.probes.endpoint` | Pinot server liveness and readiness probes endpoint | `"/health"` | +| `server.probes.livenessEnabled` | Whether to enable Pinot server liveness probe | `false` | +| `server.probes.livenessProbe.endpoint` | Optional parameter. Specify a specific Pinot server liveness probe endpoint instead of the shared `server.probes.endpoint`, You should use `"/health?checkType=liveness"` | Optional param, no default value | +| `server.probes.readinessEnabled` | Whether to enable Pinot server readiness probe | `false` | +| `server.probes.readinessProbe.endpoint` | Optional parameter. Specify a specific Pinot server readiness probe endpoint instead of the shared `server.probes.endpoint`, You should use `"/health?checkType=readiness"` | Optional param, no default value | | `server.jvmOpts` | Pinot Server JVM Options | `-Xms512M -Xmx1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -Xloggc:/opt/pinot/gc-pinot-server.log` | | `server.log4j2ConfFile` | Pinot Server log4j2 configuration file | `/opt/pinot/conf/log4j2.xml` | | `server.pluginsDir` | Pinot Server plugins directory | `/opt/pinot/plugins` | diff --git a/helm/pinot/templates/server/statefulset.yaml b/helm/pinot/templates/server/statefulset.yaml index ea2de5785ec0..553c4428cc4d 100644 --- a/helm/pinot/templates/server/statefulset.yaml +++ b/helm/pinot/templates/server/statefulset.yaml @@ -88,7 +88,11 @@ spec: initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }} periodSeconds: {{ .Values.probes.periodSeconds }} httpGet: + {{- if .Values.server.probes.livenessProbe.endpoint }} + path: {{ .Values.server.probes.livenessProbe.endpoint }} + {{- else }} path: {{ .Values.server.probes.endpoint }} + {{- end }} port: {{ .Values.server.service.adminPort }} {{- end }} {{- if .Values.server.probes.readinessEnabled }} @@ -96,7 +100,11 @@ spec: initialDelaySeconds: {{ .Values.probes.initialDelaySeconds }} periodSeconds: {{ .Values.probes.periodSeconds }} httpGet: + {{- if .Values.server.probes.readinessProbe.endpoint }} + path: {{ .Values.server.probes.readinessProbe.endpoint }} + {{- else }} path: {{ .Values.server.probes.endpoint }} + {{- end }} port: {{ .Values.server.service.adminPort }} {{- end }} volumeMounts: