Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Clonar volumes entre namespaces

Usando Trident, você pode criar novos volumes usando volumes existentes ou volumesnapshots de um namespace diferente dentro do mesmo cluster Kubernetes.

Pré-requisitos

Antes de clonar volumes, certifique-se de que os backends de origem e destino sejam do mesmo tipo e tenham a mesma classe de armazenamento.

Observação A clonagem entre namespaces é suportada apenas para os ontap-san e ontap-nas drivers de armazenamento. Clones somente leitura não são suportados.

Início rápido

Você pode configurar a clonagem de volumes em apenas alguns passos.

UmConfigure o PVC de origem para clonar o volume

O proprietário do namespace de origem concede permissão para acessar os dados no PVC de origem.

Dois Conceda permissão para criar um CR no namespace de destino

O administrador do cluster concede permissão ao proprietário do namespace de destino para criar o TridentVolumeReference CR.

Três Criar TridentVolumeReference no namespace de destino

O proprietário do namespace de destino cria o TridentVolumeReference CR para fazer referência ao PVC de origem.

QuatroCrie o PVC clonado no namespace de destino

O proprietário do namespace de destino cria um PVC para clonar o PVC do namespace de origem.

Configure os namespaces de origem e destino

Para garantir a segurança, a clonagem de volumes entre namespaces requer colaboração e ação do proprietário do namespace de origem, do administrador do cluster e do proprietário do namespace de destino. A função do usuário é designada em cada etapa.

Passos
  1. Proprietário do namespace de origem: Crie o PVC (pvc1) no namespace de origem (namespace1) que concede permissão para compartilhar com o namespace de destino (namespace2) usando a anotação cloneToNamespace.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc1
      namespace: namespace1
      annotations:
        trident.netapp.io/cloneToNamespace: namespace2
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: trident-csi
      resources:
        requests:
          storage: 100Gi

    Trident cria o PV e seu volume de armazenamento backend.

    Observação
    • Você pode compartilhar o PVC com vários namespaces usando uma lista separada por vírgulas. Por exemplo, trident.netapp.io/cloneToNamespace: namespace2,namespace3,namespace4.

    • Você pode compartilhar com todos os namespaces usando *. Por exemplo, trident.netapp.io/cloneToNamespace: *

    • Você pode atualizar o PVC para incluir a cloneToNamespace anotação a qualquer momento.

  2. Administrador do cluster: Certifique-se de que o RBAC adequado esteja configurado para conceder permissão ao proprietário do namespace de destino para criar o CR TridentVolumeReference no namespace de destino (namespace2).

  3. Proprietário do namespace de destino: Crie um CR TridentVolumeReference no namespace de destino que faça referência ao namespace de origem pvc1.

    apiVersion: trident.netapp.io/v1
    kind: TridentVolumeReference
    metadata:
      name: my-first-tvr
      namespace: namespace2
    spec:
      pvcName: pvc1
      pvcNamespace: namespace1
  4. Proprietário do namespace de destino: Crie um PVC (pvc2) no namespace de destino (namespace2) usando as cloneFromPVC ou cloneFromSnapshot, e cloneFromNamespace anotações para designar o PVC de origem.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      annotations:
        trident.netapp.io/cloneFromPVC: pvc1
        trident.netapp.io/cloneFromNamespace: namespace1
      name: pvc2
      namespace: namespace2
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: trident-csi
      resources:
        requests:
          storage: 100Gi

Limitações

  • Para PVCs provisionados usando drivers ontap-nas-economy, clones somente leitura não são suportados.