Você pode automatizar backups contínuos e automatizados de bancos de dados MongoDB gerenciados pelo Operador Kubernetes através do recurso personalizado do MongoDB.
Observação
Se você já configurou backups para seus recursos MongoDB durante o sistema de recursos do banco debanco de dados MongoDB , você não precisará concluir o procedimento a seguir.
Considerações
Antes de configurar backups para recursos MongoDB, veja as seguintes considerações:
Se você definir rótulos de atribuição usando o operador Kubernetes, os valores definidos no arquivo de configuração do Kubernetes para rótulos de atribuição substituirão os valores definidos na IU do Ops Manager . Os rótulos de atribuição que você não define usando o operador Kubernetes continuam a usar os valores definidos na IU do Ops Manager .
Se você definir um campo de agendamento de snapshot usando o Kubernetes Operator, o valor definido no arquivo de configuração do Kubernetes para esse campo substituirá o valor definido na interface do usuário do Ops Manager . Os campos de agendamento de snapshot que você não define usando o Kubernetes Operator continuam a usar o valor definido na interface do usuário do Ops Manager .
Exemplo
Você define
backup.snapshotSchedule.snapshotIntervalHours=6no operador Kubernetes.Você define os seguintes valores na interface do usuário:
Snapshot Inverval: 10
Dias de retenção do snapshot: 5
O MongoDB Ops Manager usa os seguintes valores para seu sistema:
Snapshot Inverval: 6
Dias de retenção do snapshot: 5
Se você ativar backups para a implantação do banco de dados MongoDB usando o Kubernetes Operator, mas não definir uma programação de snapshots usando o Kubernetes Operator, o Ops Manager usará a programação de snapshots definida na IU do Ops Manager.
Se você ativar os backups para sua implantação MongoDB, mas não definir um cronograma de snapshots, o Ops Manager usará o cronograma de snapshots padrão.
Pré-requisitos
Antes de configurar backups contínuos para recursos MongoDB, conclua as seguintes tarefas:
Configurar backups para o recurso Ops Manager. No procedimento vinculado, consulte as etapas de configuração de backups. Os backups contínuos para bancos de dados MongoDB exigem que você defina o valor
spec.backup.enabledna especificação de recursos do Ops Manager comotrue.Implemente um conjunto de réplicas ou um aglomerado compartilhado.
Procedimento
Habilitar backups para seu sistema de banco de dados MongoDB.
Adicione a configuração spec.backup.mode ao arquivo de configuração do sistema do banco de dados MongoDB e defina seu valor como enabled, conforme mostrado no exemplo de conjunto de réplicas a seguir:
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDB 4 metadata: 5 name: <my-replica-set> 6 spec: 7 members: 3 8 version: "4.4.0-ent" 9 type: ReplicaSet 10 opsManager: 11 configMapRef: 12 name: <my-project> 13 credentials: <my-credentials> 14 backup: 15 # Sets labels for the Backup Daemon. 16 assignmentLabels: ["test1", "test2"] 17 mode: enabled
Para saber como criar ou editar um arquivo de configuração, consulte implantar um conjunto de réplicas ou distribuir um cluster fragmentado.
Opcional: Configure o planejamento da captura instantânea.
Adicione qualquer uma das seguintes configurações de agendamento de snapshot ao arquivo de especificação do sistema. Para saber como o MongoDB Ops Manager determina o agendamento de snapshot se você não definir um campo de agendamento de snapshot usando o Operador Kubernetes ,] consulte as considerações.
Opcional: Configure os rótulos de atribuição de backup.
Adicione um ou mais spec.backup.assignmentLabels no arquivo de especificação para o sistema. Use rótulos de atribuição para identificar que os armazenamentos de backup específicos estão associados a determinados projetos. Configurar rótulos no Kubernetes Operator substitui os rótulos que você configurou no MongoDB Ops Manager. Para saber mais, consulte considerações.
Consulte o exemplo do arquivo de especificação com rótulos de atribuição anterior neste procedimento.
Verifique se o status da cópia de segurança STARTED é.
Execute o seguinte comando para verificar o status dos backups:
kubectl get mdb <resource-name> -n <metadata.namespace> -o yaml
O campo status.backup.statusname indica o status da cópia de segurança. O status exibe STARTED quando você configura backups com êxito.