You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/versioned_docs/version-1.11.x/deployment/kubernetes/index.md
+34-7Lines changed: 34 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -178,6 +178,9 @@ The Helm convention is to use a file called `values.yaml`, but any file name can
178
178
|`resources`| Resource requests and limits for the Spice.ai container. See [Container resource examples](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#example-1). |`{}`|
179
179
|`service.type`| Kubernetes service type. Can be null, ClusterIP, NodePort, or LoadBalancer. |`null`|
180
180
|`serviceAccount.create`| Specifies whether a ServiceAccount should be created. |`false`|
181
+
|`livenessProbe`| Kubernetes liveness probe configuration. Uses standard [probe shape](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes). | see `values.yaml`|
182
+
|`readinessProbe`| Kubernetes readiness probe configuration. Uses standard [probe shape](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes). | see `values.yaml`|
183
+
|`startupProbe`| Kubernetes startup probe configuration. Uses standard [probe shape](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes). | see `values.yaml`|
181
184
|`spicepod`| Define the [Spicepod](https://spiceai.org/docs/getting-started/spicepods) to be loaded by the Spice.ai runtime. |`{}`|
182
185
|`stateful.enabled`| Use a StatefulSet with a PVC (Persistent Volume Claim) for the data volume. |`false`|
183
186
|`stateful.mountPath`| Mount path in container for the persistent volume. |`/data`|
@@ -241,34 +244,58 @@ Once the monitoring is enabled, import the [Spice Grafana dashboard](../monitori
241
244
242
245
### Health and Readiness
243
246
244
-
Spice provides two HTTP endpoints for monitoring the runtime state: `/health` and `/v1/ready`. These endpoints are used for Kubernetes health and readiness probes in the Spice deployment. The Spice Helm chart automatically configures these probes.
247
+
Spice provides two HTTP endpoints for monitoring the runtime state: `/health` and `/v1/ready`. These endpoints are used for Kubernetes health and readiness probes in the Spice deployment. The Spice Helm chart automatically configures these probes with sensible defaults, and all three probes (`livenessProbe`, `readinessProbe`, `startupProbe`) can be customized via Helm values.
245
248
246
-
#### Health Probe
249
+
#### Health Probe (Liveness + Startup)
247
250
248
-
The `/health` endpoint indicates whether the Spice process is up and running, ready to receive requests. A probe can be configured for custom deployment as follows:
251
+
The `/health` endpoint indicates whether the Spice process is up and running. The default liveness and startup probes use this endpoint:
249
252
250
253
```yaml
251
254
livenessProbe:
252
255
httpGet:
253
256
path: /health
254
257
port: 8090
258
+
timeoutSeconds: 1
259
+
periodSeconds: 10
260
+
failureThreshold: 3
255
261
```
256
262
257
-
In Kubernetes, the pod will not be marked as healthy until the `/health` endpoint returns a `200` status.
258
-
259
263
#### Readiness Probe
260
264
261
-
The `/ready` endpoint indicates **whether the Spice components (datasets, models, etc) are ready**. While the `/health` endpoint might show that Spice is up and running, the `/ready` endpoint must return a `200` status to ensure that queries will return results.
265
+
The `/v1/ready` endpoint indicates **whether the Spice components (datasets, models, etc.) are ready**. While `/health` shows that Spice is running, `/v1/ready` must return `200` to ensure queries will return results:
262
266
263
267
```yaml
264
268
readinessProbe:
265
269
httpGet:
266
270
path: /v1/ready
267
271
port: 8090
272
+
timeoutSeconds: 1
273
+
periodSeconds: 10
274
+
failureThreshold: 3
275
+
```
276
+
277
+
#### Customizing Probes
278
+
279
+
Probe values can be partially overridden — omitted fields keep the defaults from `values.yaml`. If `exec`, `tcpSocket`, or `grpc` is configured, the chart omits the default `httpGet` handler:
280
+
281
+
```yaml
282
+
livenessProbe:
283
+
httpGet:
284
+
path: /health
285
+
port: 8090
286
+
timeoutSeconds: 5
287
+
failureThreshold: 5
288
+
289
+
startupProbe:
290
+
httpGet:
291
+
path: /health
292
+
port: 8090
293
+
failureThreshold: 30
294
+
periodSeconds: 5
268
295
```
269
296
270
297
:::note
271
-
For more information on how Kubernetes uses probes to determine the health of a pod, see [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes)
298
+
For more information on how Kubernetes uses probes to determine the health of a pod, see [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes).
0 commit comments