Como usar o ConfigMap para mapear uma classe de armazenamento para solicitações de volume persistente de snapshot com o PowerProtect Data Manager 19.8
Summary: Este artigo descreve como habilitar as solicitações de volume persistente de snapshot de backup a serem vinculadas a uma classe de armazenamento definida pelo usuário durante o backup.
Instructions
Siga estas instruções para usar o Dell EMC PowerProtect Data Manager 19.8 e o ConfigMap para habilitar as Solicitações de volume persistente de snapshot de backup a serem vinculadas a uma classe de armazenamento definida pelo usuário durante o backup.
Este artigo aborda o seguinte cenário:
- Você tem duas classes de armazenamento definidas no cluster do Kubernetes. Por exemplo:
debjeet@irv-ppdm-sdr-140:~$ kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
csi-hostpath-sc (default) hostpath.csi.k8s.io Delete Immediate true 161d
debjeet-sc hostpath.csi.k8s.io Delete Immediate true 12d
- O namespace do aplicativo usa, por exemplo, a primeira classe de armazenamento:
NAME READY STATUS RESTARTS AGE
pod/wordpress-mysql-5b697dbbfc-gfv9k 1/1 Running 0 16d
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/mysql-pv-claim Bound pvc-d6df4270-dc9e-48bb-bca9-bd430cea88c6 2Gi RWO csi-hostpath-sc 16d
- Quando você inicia um trabalho de backup, o Dell EMC PowerProtect Data Manager cria solicitações de volume persistente de um snapshot de backup temporário que são montadas no pod cProxy. Essa ação move o snapshot de backup para o equipamento PowerProtect. Essas solicitações de volume persistente de snapshot de backup são vinculadas automaticamente à classe de armazenamento de solicitações de volume persistente de origem.
NAME READY STATUS RESTARTS AGE
pod/epco-2021-06-17-11-40-05-epco-mysql-pv-claim-cproxy 1/1 Running 0 5s
pod/wordpress-mysql-5b697dbbfc-gfv9k 1/1 Running 0 17d
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/mysql-pv-claim Bound pvc-d6df4270-dc9e-48bb-bca9-bd430cea88c6 2Gi RWO csi-hostpath-sc 17d
persistentvolumeclaim/pvc-epco-2021-06-17-11-40-05-mysql-pv-claim Bound pvc-4031a452-fd2b-42b1-b1a5-da4df6dc9eb0 2Gi RWO csi-hostpath-sc 6s
- As solicitações de volume persistente do snapshot de backup temporário devem ser montadas em uma classe de armazenamento diferente. Esse requisito pode ser devido a restrições de classe de armazenamento ou políticas internas para a classe de armazenamento de origem.
Execute as seguintes etapas:
- Crie um ConfigMap no namespace powerprotect com o nome ppdm-snapshot-storage-class-mapping usando o seguinte comando:
kubectl create cm ppdm-snapshot-storage-class-mapping -n powerprotect
- Edite o ConfigMap usando o seguinte comando:
kubectl edit cm ppdm-snapshot-storage-class-mapping -n powerprotect
- O editor é aberto. Adicione a seção data destacada em negrito no exemplo do ConfigMap a seguir.
apiVersion: v1
kind: ConfigMap
data:
csi-hostpath-sc: debjeet-sc
metadata:
creationTimestamp: "2021-06-04T14:13:17Z"
name: ppdm-snapshot-storage-class-mapping
namespace: powerprotect
resourceVersion: "29682568"
selfLink: /api/v1/namespaces/powerprotect/configmaps/ppdm-snapshot-storage-class-mapping
uid: 74def0f9-207d-4ea5-a9b1-0fca688c7ea5
- Forneça o mapeamento entre o nome da classe de armazenamento de origem e o nome da classe de armazenamento de destino.
Se você estiver fornecendo vários mapeamentos em um só ConfigMap, os seguintes cenários mostrarão os casos de uso incompatíveis e compatíveis:
- Cenário incompatível: Não é possível mapear uma classe de armazenamento a duas classes de armazenamento diferentes. Por exemplo:
isilon-sc: unity-nfs
isilon-sc: vxflex-sc
- Cenário compatível: Você pode mapear classes de armazenamento diferentes para uma classe de armazenamento.
unity-nfs: isilon-sc
vxflex-sc: isilon-sc
- Salve o ConfigMap. Para a solicitação de volume persistente de backup vinculada ao nome da classe de armazenamento de origem listado no ConfigMap, a solicitação de volume persistente do snapshot de backup está vinculada ao nome da classe de armazenamento de destino listado no ConfigMap.
Usando o exemplo anterior do ConfigMap, o nome da classe de armazenamento de origem é csi-hostpath-sc e o nome da classe de armazenamento de destino é debjeet-sc. Se uma solicitação de volume persistente que estiver sendo submetida a backup usar a classe de armazenamento csi-hostpath-sc, a respectiva solicitação de volume persistente de snapshot durante o backup será vinculada à debjeet-sc.
debjeet@irv-ppdm-sdr-140:~$ kubectl get pods,pvc -n exnsNAME READY STATUS RESTARTS AGE
pod/epco-2021-06-17-11-40-05-epco-mysql-pv-claim-cproxy 1/1 Running 0 5s
pod/wordpress-mysql-5b697dbbfc-gfv9k 1/1 Running 0 17d
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/mysql-pv-claim Bound pvc-d6df4270-dc9e-48bb-bca9-bd430cea88c6 2Gi RWO csi-hostpath-sc 17d
persistentvolumeclaim/pvc-epco-2021-06-17-11-40-05-mysql-pv-claim Bound pvc-4031a452-fd2b-42b1-b1a5-da4df6dc9eb0 2Gi RWO debjeet-sc 56s