liveBook · Manning

Network-attached volume

As explained in Kubernetes in Action, Second Edition

A network-attached volume is storage exposed over the network so it can potentially be detached from one node and attached to another.

A network-attached volume exposes storage over the network, allowing a stateful workload’s volume to move from one node to another after node failure. This differs from a local volume, which remains tied to the failed node. section 16.2.2

During StatefulSet recovery, volume location affects scheduling and startup:

  • A replacement pod can be scheduled on another node when the volume is network-attached. section 16.2.2
  • The pod may remain in ContainerCreating if the volume cannot detach from the failed node. section 16.2.2
  • A local volume instead creates a node-affinity conflict when the original node is unreachable. section 16.2.2

Diagnosing a failed reattachment

After force-deleting quiz-1 on a failed node, the replacement pod may reach ContainerCreating on another node. kubectl describe reports: “Multi-Attach error ... Volume is already exclusively attached to one node and can't be attached to another.”

How Kubernetes in Action, Second Edition covers it

How deep it goes
Explains rescheduling and attachment failures, but does not detail storage-driver internals.
Examples
Uses quiz-1 recovery on kind or GKE and a Multi-Attach error from kubectl describe.
What you can do after
Diagnose rescheduling and volume-attachment failures with kubectl get and kubectl describe.
How it connects
Connects PersistentVolume, StatefulSet, Pod, node failure, scheduling, and volume attachment.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kubernetes in Action, Second Edition. The section links point to the parts of the book it draws on.