-
Notifications
You must be signed in to change notification settings - Fork 40k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kubelet Volume Attach/Detach/Mount/Unmount Redesign #26801
Kubelet Volume Attach/Detach/Mount/Unmount Redesign #26801
Conversation
493760a
to
b6baed7
Compare
b6baed7
to
840f0be
Compare
840f0be
to
11f1393
Compare
98c504a
to
6cdeb6d
Compare
6cdeb6d
to
557556e
Compare
557556e
to
6b92518
Compare
@@ -2386,11 +2386,11 @@ type NodeStatus struct { | |||
NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty" protobuf:"bytes,7,opt,name=nodeInfo"` | |||
// List of container images on this node | |||
Images []ContainerImage `json:"images,omitempty" protobuf:"bytes,8,rep,name=images"` | |||
// List of volumes in use (mounted) by the node. | |||
VolumesInUse []UniqueDeviceName `json:"volumesInUse,omitempty" protobuf:"bytes,9,rep,name=volumesInUse"` | |||
// List of attachable volume devices in use (mounted) by the node. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't match the internal API description.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
b2031c3
to
3c09a88
Compare
3c09a88
to
2f97e51
Compare
Rename UniqueDeviceName to UniqueVolumeName and move helper functions from attacherdetacher to volumehelper package. Introduce UniquePodName alias
This commit adds a new volume manager in kubelet that synchronizes volume mount/unmount (and attach/detach, if attach/detach controller is not enabled). This eliminates the race conditions between the pod creation loop and the orphaned volumes loops. It also removes the unmount/detach from the `syncPod()` path so volume clean up never blocks the `syncPod` loop.
2f97e51
to
cfab536
Compare
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e build/test passed for commit cfab536. |
Automatic merge from submit-queue |
Automatic merge from submit-queue Kubelet Volume Attach/Detach/Mount/Unmount Redesign This PR redesigns the Volume Attach/Detach/Mount/Unmount in Kubelet as proposed in kubernetes#21931 ```release-note A new volume manager was introduced in kubelet that synchronizes volume mount/unmount (and attach/detach, if attach/detach controller is not enabled). This eliminates the race conditions between the pod creation loop and the orphaned volumes loops. It also removes the unmount/detach from the `syncPod()` path so volume clean up never blocks the `syncPod` loop. ```
This PR redesigns the Volume Attach/Detach/Mount/Unmount in Kubelet as proposed in #21931