Restaurar una aplicación desde una copia de seguridad
Esta sección describe cómo restaurar aplicaciones desde una copia de seguridad.
Requisitos previos
Para restaurar desde un backup, asumimos que el espacio de nombres donde existía la aplicación se eliminó accidentalmente.
Restaure el mismo espacio de nombres
Para restaurar desde el backup que acabamos de crear, necesitamos crear un Restore Custom Resource (CR). Necesitamos darle un nombre, proporcionar el nombre del backup del que queremos restaurar y establecer restorePVs en true. Los parámetros adicionales se pueden establecer como se muestra en la "documentación". Haga clic en el botón Crear.
apiVersion: velero.io/v1 kind: Restore apiVersion: velero.io/v1 metadata: name: restore namespace: openshift-adp spec: backupName: backup-postgresql-ontaps3 restorePVs: true
Cuando la fase muestra Completado, puede ver que la aplicación se ha restaurado al estado cuando se tomó la instantánea. La aplicación se restaura en el mismo espacio de nombres.
Restaure un espacio de nombres diferente
Para restaurar la aplicación en un espacio de nombres diferente, puede proporcionar un namespaceMapping en la definición yaml del Restore CR.
El siguiente archivo yaml de ejemplo crea un Restore CR para restaurar una aplicación y su almacenamiento persistente desde el espacio de nombres postgresql en el nuevo espacio de nombres restaurado postgresql.
apiVersion: velero.io/v1 kind: Restore metadata: name: restore-to-different-ns namespace: openshift-adp spec: backupName: backup-postgresql-ontaps3 restorePVs: true includedNamespaces: - postgresql namespaceMapping: postgresql: postgresql-restored
Cuando la fase muestra Completado, puede ver que la aplicación se ha restaurado al estado cuando se tomó la instantánea. La aplicación se restaura en un espacio de nombres diferente como se especifica en el yaml.
Restaure a otra clase de almacenamiento
Velero proporciona una capacidad genérica para modificar los recursos durante la restauración mediante la especificación de parches json. Los parches json se aplican a los recursos antes de restaurarlos. Los parches json se especifican en un configmap y se hace referencia al configmap en el comando restore. Esta función le permite restaurar utilizando una clase de almacenamiento diferente.
En el ejemplo a continuación, la aplicación, durante la puesta en marcha utiliza ontap-nas como clase de almacenamiento para sus volúmenes persistentes. Se crea un backup de la aplicación llamada backup-postgresql-ontaps3.
Simule una pérdida de la aplicación desinstalando la aplicación.
Para restaurar la máquina virtual con un tipo de almacenamiento diferente (por ejemplo, ontap-nas-eco storage class, tiene que seguir estos dos pasos:
Paso 1
Cree una asignación de configuración (console) en el espacio de nombres openshift-adp de la siguiente manera: Rellene los detalles como se muestra en la captura de pantalla: Select namespace : openshift-adp Nombre: Change-ontap-sc (puede ser cualquier nombre) Clave: Change-ontap-sc-config.yaml: Valor:
version: v1 resourceModifierRules: - conditions: groupResource: persistentvolumeclaims resourceNameRegex: "data-postgresql*" namespaces: - postgresql patches: - operation: replace path: "/spec/storageClassName" value: "ontap-nas-eco"
El objeto de mapa de configuración resultante debe tener el siguiente aspecto (CLI):
Esta asignación de configuración aplicará la regla de modificador de recursos cuando se cree la restauración. Se aplicará una revisión para sustituir el nombre de clase de almacenamiento a ontap-nas-eco para todas las solicitudes de volumen persistentes que comiencen por rhel.
Paso 2
Para restaurar la máquina virtual, utilice el siguiente comando desde la CLI de Velero:
#velero restore create restore1 --from-backup backup1 --resource-modifier-configmap change-storage-class-config -n openshift-adp
La aplicación se restaura en el mismo espacio de nombres con las reclamaciones de volumen persistentes creadas utilizando ontap-nas-eco para la clase de almacenamiento.