Files
2025-10-15 15:11:59 +02:00

514 lines
14 KiB
Markdown

---
title: Probes
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/probes#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
---
## `probes`
Define probes for the container
| | |
| ---------- | ------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes: {}
```
### `probes.liveness`
Define the liveness probe
| | |
| ---------- | --------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.liveness` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness: {}
```
---
### `probes.readiness`
Define the readiness probe
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.readiness` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
readiness: {}
```
---
### `probes.startup`
Define the startup probe
| | |
| ---------- | -------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.startup` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
startup: {}
```
---
#### `probes.$probe.enabled`
Enable or disable the probe
| | |
| ---------- | --------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
enabled: true
```
---
#### `probes.$probe.type`
Define probe type
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.type` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `http` |
Valid Values:
- `exec`
- `http`
- `https`
- `tcp`
- `grpc`
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
type: http
```
---
#### `probes.$probe.command`
Define command(s)
:::note
- Only applies when `type: exec`
- It is **required**
:::
See [Command](/truecharts-common/container/command#command) for more information.
---
#### `probes.$probe.port`
Define the port
:::note
- Only applies when `type: grpc/tcp/http/https`
:::
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.port` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | unset |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
port: 8080
```
---
#### `probes.$probe.path`
Define the path
:::note
- Only applies when `type: http/https`
:::
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.path` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `/` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
path: /healthz
```
---
#### `probes.$probe.httpHeaders`
Define the httpHeaders
:::note
- Only applies when `type: http/https`
:::
| | |
| ---------- | ------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.httpHeaders` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
httpHeaders:
key1: value1
key2: value2
```
---
#### `probes.$probe.spec`
Define the probe spec
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec: {}
```
---
##### `probes.$probe.spec.initialDelaySeconds`
Define the initialDelaySeconds in seconds
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.initialDelaySeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec:
initialDelaySeconds: 10
```
---
##### `probes.$probe.spec.periodSeconds`
Define the periodSeconds in seconds
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.periodSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec:
periodSeconds: 10
```
---
##### `probes.$probe.spec.timeoutSeconds`
Define the timeoutSeconds in seconds
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.timeoutSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec:
timeoutSeconds: 10
```
---
##### `probes.$probe.spec.failureThreshold`
Define the failureThreshold in seconds
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.failureThreshold` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec:
failureThreshold: 10
```
---
##### `probes.$probe.spec.successThreshold`
Define the successThreshold in seconds. `liveness` and `startup` must always be 1
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.successThreshold` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
readiness:
spec:
successThreshold: 10
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
probes:
liveness:
enabled: true
type: https
port: 8080
path: /healthz
httpHeaders:
key1: value1
key2: value2
spec:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 10
failureThreshold: 10
successThreshold: 10
readiness:
enabled: true
type: tcp
port: 8080
spec:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 10
failureThreshold: 10
successThreshold: 10
startup:
enabled: true
type: exec
command:
- command1
- command2
spec:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 10
failureThreshold: 10
successThreshold: 10
```