Problem
No PodDisruptionBudget exists anywhere in the platform. A node drain during a rolling upgrade or maintenance window can simultaneously evict all replicas of api, ingest, or the operator, causing a complete control-plane outage.
Fix
Add PDB manifests with minAvailable: 1 for each multi-replica service:
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: mcp-api
spec:
minAvailable: 1
selector:
matchLabels:
app: mcp-api
Apply the same pattern for ingest, processor, and the operator.
Files
k8s/08-api.yaml
k8s/06-ingest.yaml
k8s/07-processor.yaml
config/ (operator deployment)
Problem
No
PodDisruptionBudgetexists anywhere in the platform. A node drain during a rolling upgrade or maintenance window can simultaneously evict all replicas of api, ingest, or the operator, causing a complete control-plane outage.Fix
Add PDB manifests with
minAvailable: 1for each multi-replica service:Apply the same pattern for
ingest,processor, and the operator.Files
k8s/08-api.yamlk8s/06-ingest.yamlk8s/07-processor.yamlconfig/(operator deployment)