---
title: Pod Disruption Budget
---

:::note

- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/poddisruptionbudget#full-examples) section for complete examples.

:::

## Appears in

- `.Values.podDisruptionBudget`

## Naming scheme

- `$FullName-$podDisruptionBudgetName` (release-name-chart-name-podDisruptionBudgetName)

:::tip

- Replace references to `$name` with the actual name you want to use.

:::

---

## `podDisruptionBudget`

Create Pod Disruption Budget objects

|            |                       |
| ---------- | --------------------- |
| Key        | `podDisruptionBudget` |
| Type       | `map`                 |
| Required   | ❌                    |
| Helm `tpl` | ❌                    |
| Default    | `{}`                  |

Example

```yaml
podDisruptionBudget: {}
```

---

### `$name`

Define Pod Disruption Budget

:::note

At least one of the following keys must be defined

[`minAvailable`](/truecharts-common/poddisruptionbudget#minavailable), [`maxUnavailable`](/truecharts-common/poddisruptionbudget#maxunavailable)

:::

|            |                             |
| ---------- | --------------------------- |
| Key        | `podDisruptionBudget.$name` |
| Type       | `map`                       |
| Required   | ✅                          |
| Helm `tpl` | ❌                          |
| Default    | `{}`                        |

Example

```yaml
podDisruptionBudget:
  pdb-name: {}
```

---

#### `enabled`

Enables or Disables the Pod Disruption Budget

|            |                                     |
| ---------- | ----------------------------------- |
| Key        | `podDisruptionBudget.$name.enabled` |
| Type       | `bool`                              |
| Required   | ✅                                  |
| Helm `tpl` | ✅                                  |
| Default    | `false`                             |

Example

```yaml
podDisruptionBudget:
  pdb-name:
    enabled: true
```

---

#### `namespace`

Define the namespace for this object

|            |                                       |
| ---------- | ------------------------------------- |
| Key        | `podDisruptionBudget.$name.namespace` |
| Type       | `string`                              |
| Required   | ❌                                    |
| Helm `tpl` | ✅                                    |
| Default    | `""`                                  |

Example

```yaml
podDisruptionBudget:
  pdb-name:
    namespace: some-namespace
```

---

#### `labels`

Additional labels for Pod Disruption Budget

|            |                                    |
| ---------- | ---------------------------------- |
| Key        | `podDisruptionBudget.$name.labels` |
| Type       | `map`                              |
| Required   | ❌                                 |
| Helm `tpl` | ✅ (On value only)                 |
| Default    | `{}`                               |

Example

```yaml
podDisruptionBudget:
  pdb-name:
    labels:
      key: value
```

---

#### `annotations`

Additional annotations for Pod Disruption Budget

|            |                                         |
| ---------- | --------------------------------------- |
| Key        | `podDisruptionBudget.$name.annotations` |
| Type       | `map`                                   |
| Required   | ❌                                      |
| Helm `tpl` | ✅ (On value only)                      |
| Default    | `{}`                                    |

Example

```yaml
podDisruptionBudget:
  pdb-name:
    annotations:
      key: value
```

---

#### `minAvailable`

Define the minAvailable.

|            |                                          |
| ---------- | ---------------------------------------- |
| Key        | `podDisruptionBudget.$name.minAvailable` |
| Type       | `int` or `string`                        |
| Required   | ❌                                       |
| Helm `tpl` | ✅                                       |
| Default    | `""`                                     |

Example

```yaml
podDisruptionBudget:
  pdb-name:
    minAvailable: 1
```

---

#### `maxUnavailable`

Define the maxUnavailable.

|            |                                            |
| ---------- | ------------------------------------------ |
| Key        | `podDisruptionBudget.$name.maxUnavailable` |
| Type       | `int` or `string`                          |
| Required   | ❌                                         |
| Helm `tpl` | ✅                                         |
| Default    | `""`                                       |

Example

```yaml
podDisruptionBudget:
  pdb-name:
    maxUnavailable: 1
```

---

#### `unhealthyPodEvictionPolicy`

Define the unhealthyPodEvictionPolicy

|            |                                                        |
| ---------- | ------------------------------------------------------ |
| Key        | `podDisruptionBudget.$name.unhealthyPodEvictionPolicy` |
| Type       | `string`                                               |
| Required   | ❌                                                     |
| Helm `tpl` | ✅                                                     |
| Default    | `""`                                                   |

Valid Values:

- `IfHealthyBudget`
- `AlwaysAllow`

Example

```yaml
podDisruptionBudget:
  pdb-name:
    unhealthyPodEvictionPolicy: IfHealthyBudget
```

---

## Full Examples

```yaml
podDisruptionBudget:
  pdb-name:
    enabled: true
    labels:
      key: value
      keytpl: "{{ .Values.some.value }}"
    annotations:
      key: value
      keytpl: "{{ .Values.some.value }}"
    minAvailable: 1
    maxUnavailable: 1
    unhealthyPodEvictionPolicy: IfHealthyBudget

  other-pdb-name:
    enabled: true
    namespace: some-namespace
    minAvailable: 1
```
