Volume Attach Failure¶
Symptom¶
The pod is scheduled but the volume never attaches, often surfacing FailedAttachVolume, repeated attach retries, or a workload stuck in ContainerCreating.
Possible Causes¶
- The disk is zonal and the replacement pod landed in a different zone.
- The node has reached the VM SKU’s disk-attach limit.
- The underlying managed disk is in a conflicting Azure state.
- A previous node still holds the disk attachment or detach is delayed.
Diagnosis Steps¶
flowchart TD
A[Attach fails] --> B[Inspect pod events and PVC]
B --> C[Check disk class and zone behavior]
C --> D[Check node SKU attach limits]
D --> E[Inspect previous node or disk state] -
Inspect pod events for attach failures.
-
Inspect the PVC and StorageClass to determine whether the disk is zonal or ZRS.
-
Inspect node labels and node SKU placement.
-
Inspect the CSI node object for driver limits on the target node.
Resolution¶
- Move the workload back into the disk’s zone, or move to a ZRS disk class if cross-zone reattach is a hard requirement.
- Reduce per-node attachment pressure by spreading StatefulSets or changing node SKU.
- Wait for the previous attachment to clear or repair the failed node path before retrying.
- Recreate the pod only after confirming the disk is no longer attached elsewhere.
Prevention¶
- Use ZRS disk classes when cross-zone recovery matters more than lowest cost.
- Track per-node attachment density for state-heavy node pools.
- Keep StatefulSet scheduling and disk placement policies consistent.