Использование снапшотов | Using snapshots |
Чтобы использовать снапшоты, необходимо указать конкретный | To use snapshots, you need to specify a |
shell kubectl get volumesnapshotclasses.snapshot.storage.k8s.io | shell kubectl get volumesnapshotclasses.snapshot.storage.k8s.io |
Затем вы сможете использовать VolumeSnapshotClass для создания снапшота из существующего тома: | You can then use VolumeSnapshotClass to create a snapshot from an existing PVC: |
yaml apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: my-first-snapshot spec: volumeSnapshotClassName: sds-replicated-volume source: persistentVolumeClaimName: my-first-volume | yaml apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: my-first-snapshot spec: volumeSnapshotClassName: sds-replicated-volume source: persistentVolumeClaimName: my-first-volume |
Спустя небольшой промежуток времени снапшот будет готов: | After a short wait, the snapshot will be ready: |
yaml $ kubectl describe volumesnapshots.snapshot.storage.k8s.io my-first-snapshot … Spec: Source: Persistent Volume Claim Name: my-first-snapshot Volume Snapshot Class Name: sds-replicated-volume Status: Bound Volume Snapshot Content Name: snapcontent-b6072ab7-6ddf-482b-a4e3-693088136d2c Creation Time: 2020-06-04T13:02:28Z Ready To Use: true Restore Size: 500Mi | yaml $ kubectl describe volumesnapshots.snapshot.storage.k8s.io my-first-snapshot … Spec: Source: Persistent Volume Claim Name: my-first-snapshot Volume Snapshot Class Name: sds-replicated-volume Status: Bound Volume Snapshot Content Name: snapcontent-b6072ab7-6ddf-482b-a4e3-693088136d2c Creation Time: 2020-06-04T13:02:28Z Ready To Use: true Restore Size: 500Mi |
Вы можете восстановить содержимое этого снапшота, создав новый PVC. Для этого необходимо указать снапшот в качестве источника: | You can restore the content of this snaphost by creating a new PVC with the snapshot as source: |
yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-first-volume-from-snapshot spec: storageClassName: sds-replicated-volume-data-r2 dataSource: name: my-first-snapshot kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io accessModes:
| yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-first-volume-from-snapshot spec: storageClassName: sds-replicated-volume-data-r2 dataSource: name: my-first-snapshot kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io accessModes:
|
Клонирование CSI-томов | CSI Volume Cloning |
Основываясь на концепции снапшотов, вы также можете осуществить клонирование Persistent Volumes, а точнее существующих PersistentVolumeClaims (PVC). Однако спецификация CSI не позволяет производить клонирование томов в пространстве имен и StorageClass’ах, отличных от оригинального PVC (обратитесь к документации Kubernetes, чтобы узнать больше об ограничениях). | Based on the concept of snapshots, you can also perform cloning of persistent volumes - or, more precisely, existing persistent volume claims (PVC). However, the CSI specification mentions some restrictions regarding cloning PVCs in different namespace and storage classes than the original PVC (see Kubernetes documentation for details). |
Чтобы клонировать том, создайте новый PVC и укажите исходный PVC в | To clone a volume create a new PVC and define the origin PVC in the dataSource: |
yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-cloned-pvc spec: storageClassName: sds-replicated-volume-data-r2 dataSource: name: my-origin-pvc kind: PersistentVolumeClaim accessModes:
| yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-cloned-pvc spec: storageClassName: sds-replicated-volume-data-r2 dataSource: name: my-origin-pvc kind: PersistentVolumeClaim accessModes:
|