Add PodDisruptionBudgets for critical services #31

Open
opened 2026-07-25 19:37:17 +00:00 by lab · 0 comments
Owner

No PDBs exist. During node drain or maintenance, all replicas of a service could go down simultaneously.

Services needing PDBs

  • Authelia (DaemonSet — already one per node, lower priority)
  • Caddy (2 replicas on master-ingress nodes — HIGH priority)
  • Forgejo (if replicas > 1)
  • MySQL (if replicas > 1)
  • Prometheus (if replicas > 1)

Example PDB for Caddy

apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: caddy-pdb
  namespace: caddy
spec:
  minAvailable: 1
  selector:
    matchLabels:
      app: caddy

Steps

  1. Audit which services have replicas > 1
  2. Create PDB manifests for each
  3. Apply via GitOps workflow
No PDBs exist. During node drain or maintenance, all replicas of a service could go down simultaneously. ## Services needing PDBs - **Authelia** (DaemonSet — already one per node, lower priority) - **Caddy** (2 replicas on master-ingress nodes — HIGH priority) - **Forgejo** (if replicas > 1) - **MySQL** (if replicas > 1) - **Prometheus** (if replicas > 1) ## Example PDB for Caddy ```yaml apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: caddy-pdb namespace: caddy spec: minAvailable: 1 selector: matchLabels: app: caddy ``` ## Steps 1. Audit which services have replicas > 1 2. Create PDB manifests for each 3. Apply via GitOps workflow
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lab/homelab#31
No description provided.