|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
|
Esta es documentación inédita para SUSE® Storage 1.12 (Dev). |
Instantánea de volumen CSI asociada a una instantánea de SUSE® Storage
La instantánea en Longhorn es un objeto que representa el contenido de un volumen Longhorn en un momento particular. Se almacena dentro del clúster.
Para crear instantáneas Longhorn programáticamente, puedes utilizar el mecanismo genérico de CSI VolumeSnapshot de Kubernetes. Para aprender más sobre el mecanismo CSI VolumeSnapshot, haz clic aquí.
Requisito previo: El soporte de instantáneas CSI necesita estar habilitado en tu clúster. Si tu distribución de Kubernetes no proporciona el controlador de instantáneas de Kubernetes, así como las definiciones de recursos personalizadas relacionadas con las instantáneas, necesitas desplegarlos manualmente. Para más información, consulta Habilitar soporte de instantáneas CSI.
Crear una instantánea de volumen CSI asociada a una instantánea Longhorn
Para crear una instantánea de volumen CSI asociada a una instantánea Longhorn, primero necesitas crear un objeto VolumeSnapshotClass con el parámetro type establecido en snap de la siguiente manera:
kind: VolumeSnapshotClass
apiVersion: snapshot.storage.k8s.io/v1
metadata:
name: longhorn-snapshot-vsc
driver: driver.longhorn.io
deletionPolicy: Delete
parameters:
type: snap
Para más información sobre VolumeSnapshotClass, consulta la documentación de Kubernetes para VolumeSnapshotClasses.
Después de eso, crea un objeto Kubernetes VolumeSnapshot con volumeSnapshotClassName que apunte al nombre del VolumeSnapshotClass (longhorn-snapshot-vsc) y source que apunte al PVC del volumen Longhorn para el cual se debe crear una instantánea Longhorn.
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: test-csi-volume-snapshot-longhorn-snapshot
spec:
volumeSnapshotClassName: longhorn-snapshot-vsc
source:
persistentVolumeClaimName: test-vol
Resultado:
Se crea una instantánea Longhorn. La creación del objeto VolumeSnapshot conduce a la creación de un objeto Kubernetes VolumeSnapshotContent.
El VolumeSnapshotContent se refiere a una instantánea Longhorn en su campo VolumeSnapshotContent.snapshotHandle con el nombre snap://volume-name/snapshot-name.
Visualizando la instantánea Longhorn
Para ver la instantánea, haz clic en Volumen en la barra de navegación superior y haz clic en el volumen mencionado en el VolumeSnapshotContent.snapshotHandle. Desplázate hacia abajo para ver la lista de todas las instantáneas de volumen.
Cómo funciona el mecanismo CSI en este escenario
Cuando se crea el objeto VolumeSnapshot con kubectl, se utiliza el campo VolumeSnapshot.uuid para identificar una instantánea de Longhorn y el objeto VolumeSnapshotContent asociado.
Esto crea una nueva instantánea de Longhorn llamada snapshot-uuid y se devuelve la solicitud CSI.
A continuación, se crea un objeto VolumeSnapshotContent llamado snapcontent-uuid con la bandera VolumeSnapshotContent.readyToUse establecida en true.
Restaurar PVC desde el VolumeSnapshot CSI asociado con la instantánea de Longhorn.
Crea un objeto PersistentVolumeClaim donde el campo dataSource apunta a un objeto VolumeSnapshot existente que está asociado con la instantánea de Longhorn.
El csi-provisioner lo recogerá e instruirá al controlador CSI de Longhorn para aprovisionar un nuevo volumen con los datos de la instantánea de Longhorn asociada.
Un ejemplo PersistentVolumeClaim se muestra a continuación. El campo dataSource necesita apuntar a un objeto VolumeSnapshot existente.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-restore-pvc
spec:
storageClassName: longhorn
dataSource:
name: test-csi-volume-snapshot-longhorn-snapshot
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
Para más información, consulta la documentación sobre la compatibilidad de clonación de volúmenes V2. |