diff --git a/helm/templates/ray-cluster.yaml b/helm/templates/ray-cluster.yaml index 54810fd8e..995bef82e 100644 --- a/helm/templates/ray-cluster.yaml +++ b/helm/templates/ray-cluster.yaml @@ -167,11 +167,15 @@ spec: - name: {{ include "chart.container-port-name" . }} containerPort: {{ include "chart.container-port" . }} readinessProbe: + {{- if $modelSpec.raySpec.headNode.readinessProbe }} + {{- toYaml $modelSpec.raySpec.headNode.readinessProbe | nindent 14 }} + {{- else }} httpGet: path: /health port: {{ include "chart.container-port" . }} failureThreshold: 1 periodSeconds: 10 + {{- end }} livenessProbe: exec: command: ["/bin/bash", "-c", "echo TBD"] diff --git a/helm/values.yaml b/helm/values.yaml index 3cc8a3125..028c4e45c 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -275,6 +275,18 @@ servingEngineSpec: requestMemory: "1Gi" # -- GPU request for the head node requestGPU: 1 + # Readiness probe for the Ray head node (raySpec.headNode.readinessProbe). + # If unset, defaults to an httpGet /health probe with failureThreshold 1 + # and periodSeconds 10. Override it to relax the probe when the model + # takes a long time to come up on a multi-node setup, otherwise the head + # pod may be marked unready and never receive traffic. Accepts a standard + # Kubernetes probe spec, e.g.: + # readinessProbe: + # httpGet: + # path: /health + # port: 8000 + # failureThreshold: 10 + # periodSeconds: 30 # -- Container port containerPort: 8000