|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Instantâneo de Volume CSI Associado a um Instantâneo do SUSE® Storage
Um instantâneo no Longhorn é um objeto que representa o conteúdo de um volume Longhorn em um momento particular. Ele é armazenado dentro do cluster.
Para criar instantâneos Longhorn programaticamente, você pode usar o mecanismo genérico de VolumeSnapshot do Kubernetes CSI. Para saber mais sobre o mecanismo de VolumeSnapshot do CSI, clique aqui.
Pré-requisitos: O suporte a instantâneos CSI precisa ser habilitado em seu cluster. Se sua distribuição do Kubernetes não fornecer o controlador de instantâneo do Kubernetes, bem como as definições de recursos personalizados relacionadas a instantâneos, você precisará implantá-los manualmente. Para mais informações, veja Habilitar Suporte a Instantâneos CSI.
Criar um VolumeSnapshot CSI Associado a um Instantâneo Longhorn
Para criar um VolumeSnapshot CSI associado a um instantâneo Longhorn, você primeiro precisa criar um objeto VolumeSnapshotClass com o parâmetro type definido como snap da seguinte forma:
kind: VolumeSnapshotClass
apiVersion: snapshot.storage.k8s.io/v1
metadata:
name: longhorn-snapshot-vsc
driver: driver.longhorn.io
deletionPolicy: Delete
parameters:
type: snap
Para mais informações sobre VolumeSnapshotClass, consulte a documentação do Kubernetes para Classes de VolumeSnapshot.
Depois disso, crie um objeto Kubernetes VolumeSnapshot com volumeSnapshotClassName apontando para o nome do VolumeSnapshotClass (longhorn-snapshot-vsc) e o source apontando para o PVC do volume Longhorn para o qual um instantâneo Longhorn deve ser criado.
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:
Um instantâneo Longhorn é criado. A criação do objeto VolumeSnapshot leva à criação de um objeto Kubernetes VolumeSnapshotContent.
O VolumeSnapshotContent refere-se a um instantâneo Longhorn em seu campo VolumeSnapshotContent.snapshotHandle com o nome snap://volume-name/snapshot-name.
Visualizando o Instantâneo Longhorn
Para ver o instantâneo, clique Volume na barra de navegação superior e clique no volume mencionado no VolumeSnapshotContent.snapshotHandle. Role para baixo para ver a lista de todos os instantâneos de volume.
Como o Mecanismo CSI Funciona Neste Cenário
Quando o objeto VolumeSnapshot é criado com kubectl, o campo VolumeSnapshot.uuid é usado para identificar um instantâneo Longhorn e o objeto VolumeSnapshotContent associado.
Isso cria um novo instantâneo Longhorn chamado snapshot-uuid e a solicitação CSI retorna.
Em seguida, um objeto VolumeSnapshotContent chamado snapcontent-uuid é criado com a flag VolumeSnapshotContent.readyToUse definida como true.
Restaurar PVC de VolumeSnapshot CSI Associado a um Instantâneo Longhorn
Crie um objeto PersistentVolumeClaim onde o campo dataSource aponta para um objeto VolumeSnapshot existente que está associado ao instantâneo Longhorn.
O csi-provisioner captará essa solicitação e instruirá o driver Longhorn CSI a provisionar um novo volume com os dados do instantâneo Longhorn associado.
Um exemplo PersistentVolumeClaim está abaixo. O campo dataSource precisa apontar para um 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 mais informações, consulte a documentação de Suporte a Clone de Volume V2. |