Skip to main content

Availability Classes

Availability classes define how much of a workload must remain available during voluntary disruptions (node drains, upgrades, scaling).

Predefined Classes

ClassMinAvailableUse Case
non-critical20%Batch jobs, dev workloads
standard50%General applications
high-availability75%Production APIs, databases
mission-critical90%Payment systems, auth services
customUser-definedFull control via customPDBConfig

Security Workload Boosting

Workloads with pdboperator.io/workload-function: security are automatically boosted to a higher availability class:

Original ClassSecurity-Boosted ClassEffective MinAvailable
non-criticalstandard50%
standardhigh-availability75%
high-availability(unchanged)75%
mission-critical(unchanged)90%

This ensures security-critical workloads like authentication services, firewalls, and certificate managers always have higher availability protection.

Example

apiVersion: availability.pdboperator.io/v1alpha1
kind: PDBPolicy
metadata:
name: production-policy
spec:
availabilityClass: high-availability
workloadSelector:
matchLabels:
env: production

This creates PDBs with minAvailable: 75% for all deployments labeled env: production.