Skip to main content
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

Colaboradores netapp-aruldeepa

Usando o Trident, você pode criar novos volumes utilizando volumes existentes ou snapshots de volumes 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 o 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.

DoisConceder permissão para criar uma solicitação de configuração (CR) no espaço de nomes de destino.

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

TrêsCrie uma TridentVolumeReference no namespace de destino.

O proprietário do namespace de destino cria o CR TridentVolumeReference para se referir 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 a colaboração e a 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 é definida em cada etapa.

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

    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

    A Trident cria o PV e seu volume de armazenamento de 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 o cloneToNamespace Anotações a qualquer momento.

  2. Administrador do cluster: Certifique-se de que o RBAC adequado esteja implementado 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 uma solicitação de configuração (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: Criar um PVC(pvc2 ) no espaço de nomes de destino(namespace2 ) usando o 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 provisionadas usando drivers ontap-nas-economy, clones somente leitura não são suportados.