Incidents and Recovery
Incident classes
- ARC control-plane unavailable
- Runners not registering
- DIND jobs pending indefinitely
/dev/kvmmissing on runtime-real jobs- Autoscaler not converging VM count
Immediate triage
bash
kubectl -n arc-controller get pods
kubectl -n arc-systems get pods -o wide
kubectl -n arc-systems get events --sort-by=.lastTimestamp | tail -n 50Recovery patterns
ARC controller failure
- Restart controller deployment.
- Re-apply
k8s/arc/install.sh.
DIND queue backlog
- Verify KVM worker nodes are Ready.
- Verify taints/tolerations match current values.
- Temporarily increase
ARC_DIND_MAX_RUNNERS.
KVM missing in runner
- Validate hostPath mount in dind values.
- Verify node selected is in KVM pool.
- Run
kvm-smokeworkflow to isolate path issue.
Autoscaler stalled
- Check CronJob history and logs.
- Validate SSH secret and target.
- Manually start critical KVM VMs to restore service.
Post-incident actions
- Record timeline and root cause.
- Add or update automated check.
- Adjust thresholds, limits, or routing rules.