-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Add Volume Snapshot Support #1638
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
Conversation
This document proposes to add Kubernetes snapshot support in-tree.
|
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: xing-yang Assign the PR to them by writing The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these OWNERS Files:
You can indicate your approval by writing |
| // kubelet's host machine and then exposed to the pod. | ||
| // More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore | ||
| // +optional | ||
| AWSElasticBlockStore *AWSElasticBlockStoreVolumeSnapshotSource `json:"awsElasticBlockStore,omitempty"` |
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.
I was expecting the cloud provider-related API and controller to be out of tree. Isn't the ideal scenario that any storage provider would be able to support snapshotting their storage, interacting with the core kubernetes API only via VolumeSnapshot/VolumeSnapshotData objects?
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.
to that end, it would probably make sense for there to be a place for opaque, storage-provider-specific parameters in the VolumeSnapshotData, so the storage provider can persist the info required to locate the snapshot (similar to the parameters in StorageClass and FlexVolumeSource)
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.
Thanks @liggitt for the comments. This design is modeled after the design of PersistentVolume and PersistentVolumeClaim. For example, PersistentVolumeSource contains storage provider data as follows:
type PersistentVolumeSource struct {
// GCEPersistentDisk represents a GCE Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
// +optional
GCEPersistentDisk *GCEPersistentDiskVolumeSource
// AWSElasticBlockStore represents an AWS EBS disk that is attached to a
// kubelet's host machine and then exposed to the pod
// +optional
AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource
...
}
Having opaque, storage-provider-specific parameters in the VolumeSnapshotData is an option we can discuss about.
|
/ok-to-test |
|
Most of the storage vendors already support volume level snapshots. It will be good to include a section on how these will be made available via the CSI drivers. |
| ================================ | ||
|
|
||
| **Authors:** [Cindy Wang](https://github.com/ciwang) | ||
| **Authors:** [Cindy Wang](https://github.com/ciwang), [Jing Xu](https://github.com/jinxu97),[Tomas Smetana](https://github.com/tsmetana), [Huamin Chen ](https://github.com/rootfs), [Xing Yang] (https://github.com/xing-yang) |
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.
nit: extra white space between [Xing Yang] and link.
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.
Will address it. Thanks.
|
@kmova Sure, will add a section for that later. |
|
Since I re-signed CLA with a new email address, I need to close this PR and open a new PR to get the CLA issue resolved. Thanks. |
|
@xing-yang You shouldn't need to. You should also be able to follow directions like https://stackoverflow.com/questions/3042437/change-commit-author-at-one-specific-commit to reset the author on your commits to match your e-mail address |
This document proposes to add Kubernetes snapshot support in-tree.