Haz backup de aplicaciones Kubernetes ahora usando recursos personalizados en Backup and Recovery
NetApp Backup and Recovery te permite hacer backups manuales de aplicaciones Kubernetes usando recursos personalizados (CRs).
Haz una copia de seguridad de una aplicación de Kubernetes ahora usando recursos personalizados
Cree manualmente una copia de seguridad de una aplicación de Kubernetes para establecer una línea de base para futuras copias de seguridad e instantáneas, o para garantizar que los datos más recientes estén protegidos.
|
|
Los recursos con ámbito de clúster se incluyen en un backup, snapshot o clon si se hace referencia a ellos explícitamente en la definición de la aplicación o si tienen referencias a cualquiera de los espacios de nombres de la aplicación. |
Asegúrate de que la caducidad del token de sesión de AWS sea suficiente para cualquier operación de backup s3 de larga duración. Si el token caduca durante la operación de backup, la operación puede fallar.
-
Consulta "Documentación de la API de AWS" para más información sobre cómo comprobar la expiración del token de sesión actual.
-
Consulta "Documentación de AWS IAM" para más información sobre las credenciales con los recursos de AWS.
Crea una instantánea local usando un recurso personalizado
Para crear una instantánea de tu aplicación Kubernetes y guardarla localmente, usa el recurso personalizado Snapshot con atributos específicos.
-
Crea el archivo de recurso personalizado (CR) y asígnale el nombre
local-snapshot-cr.yaml. -
En el archivo que creaste, configura los siguientes atributos:
-
metadata.name: (Required) El nombre de este recurso personalizado; elige un nombre único y sensato para tu entorno.
-
spec.applicationRef: el nombre de Kubernetes de la aplicación para hacer snapshot.
-
spec.appVaultRef: (Required) El nombre de AppVault donde se debe almacenar el contenido de la instantánea (metadatos).
-
spec.reclaimPolicy: (opcional) Define lo que pasa con la AppArchive de una instantánea cuando se elimina el CR de la instantánea. Esto significa que incluso cuando se establece en
Retain, la instantánea se eliminará. Opciones válidas:-
Retain(predeterminado) -
DeleteapiVersion: protect.trident.netapp.io/v1 kind: Snapshot metadata: namespace: my-app-namespace name: local-snapshot-cr spec: applicationRef: my-application appVaultRef: appvault-name reclaimPolicy: Retain
-
-
-
Después de rellenar el archivo
local-snapshot-cr.yamlcon los valores correctos, aplica la CR:kubectl apply -f local-snapshot-cr.yaml
Haz un backup de una aplicación en un almacén de objetos usando un recurso personalizado
Crea un CR de backup con atributos específicos para hacer backup de tu aplicación en un almacén de objetos.
-
Crea el archivo de recurso personalizado (CR) y ponle el nombre
object-store-backup-cr.yaml. -
En el archivo que creaste, configura los siguientes atributos:
-
metadata.name: (Required) El nombre de este recurso personalizado; elige un nombre único y sensato para tu entorno.
-
spec.applicationRef: (Required) el nombre de Kubernetes de la aplicación que quieres respaldar.
-
spec.appVaultRef: (Requerido, mutuamente excluyente con spec.appVaultTargetsRef) Si usas el mismo bucket para guardar la instantánea y el backup, este es el nombre de AppVault donde se debe almacenar el contenido del backup.
-
spec.appVaultTargetsRef: (Requerido, mutuamente excluyente con spec.appVaultRef) Si usas diferentes buckets para almacenar el snapshot y el backup, este es el nombre del AppVault donde se debe almacenar el contenido del backup.
-
spec.dataMover: (Opcional) Una cadena que indica qué herramienta de backup usar para la operación de backup. El valor distingue mayúsculas de minúsculas y debe ser
CBS. -
spec.reclaimPolicy: (Opcional) Define qué pasa con el contenido del backup (metadatos/datos del volumen) cuando se elimina el Backup CR. Valores posibles:
-
Delete -
Retain(predeterminado)
-
-
spec.cleanupSnapshot: (Obligatorio) Garantiza que la instantánea temporal creada por el CR de copia de seguridad no se elimine después de que se complete la operación de copia de seguridad. Valor recomendado:
false.Ejemplo de YAML cuando usas el mismo bucket para guardar la instantánea y el backup:
apiVersion: protect.trident.netapp.io/v1 kind: Backup metadata: namespace: my-app-namespace name: my-cr-name spec: applicationRef: my-application appVaultRef: appvault-name dataMover: CBS reclaimPolicy: Retain cleanupSnapshot: falseEjemplo de YAML cuando usas diferentes buckets para almacenar la instantánea y el backup:
apiVersion: protect.trident.netapp.io/v1 kind: Backup metadata: namespace: my-app-namespace name: object-store-backup-cr spec: applicationRef: my-application appVaultTargetsRef: appvault-targets-name dataMover: CBS reclaimPolicy: Retain cleanupSnapshot: false -
-
Después de rellenar el archivo
object-store-backup-cr.yamlcon los valores correctos, aplica la CR:kubectl apply -f object-store-backup-cr.yaml
Crea un backup de fanout 3-2-1 usando un recurso personalizado
La copia de seguridad mediante una arquitectura 3-2-1 fanout copia un backup en almacenamiento secundario y también en un almacén de objetos. Para crear un backup 3-2-1 fanout, crea un Backup CR con atributos específicos.
-
Crea el archivo de recurso personalizado (CR) y asígnale el nombre
3-2-1-fanout-backup-cr.yaml. -
En el archivo que creaste, configura los siguientes atributos:
-
metadata.name: (Required) El nombre de este recurso personalizado; elige un nombre único y sensato para tu entorno.
-
spec.applicationRef: (Required) el nombre de Kubernetes de la aplicación que quieres respaldar.
-
spec.appVaultTargetsRef: (Required) El nombre de AppVault donde se debe almacenar el contenido del backup.
-
spec.dataMover: (Opcional) Una cadena que indica qué herramienta de backup usar para la operación de backup. El valor distingue mayúsculas de minúsculas y debe ser
CBS. -
spec.reclaimPolicy: (Opcional) Define qué pasa con el contenido del backup (metadatos/datos del volumen) cuando se elimina el Backup CR. Valores posibles:
-
Delete -
Retain(predeterminado)
-
-
spec.cleanupSnapshot: (Obligatorio) Garantiza que la instantánea temporal creada por el CR de copia de seguridad no se elimine después de que se complete la operación de copia de seguridad. Valor recomendado:
false. -
spec.replicateSnapshot: (Requerido) Indica a Backup and Recovery que replique la instantánea en el almacenamiento secundario. Valor requerido:
true. -
spec.replicateSnapshotReclaimPolicy: (Opcional) Define qué pasa con la instantánea replicada cuando se elimina. Posibles valores:
-
Delete -
Retain(predeterminado)Ejemplo de YAML:
-
apiVersion: protect.trident.netapp.io/v1 kind: Backup metadata: namespace: my-app-namespace name: 3-2-1-fanout-backup-cr spec: applicationRef: my-application appVaultTargetsRef: appvault-targets-name dataMover: CBS reclaimPolicy: Retain cleanupSnapshot: false replicateSnapshot: true replicateSnapshotReclaimPolicy: Retain -
-
Después de rellenar el archivo
3-2-1-fanout-backup-cr.yamlcon los valores correctos, aplica la CR:kubectl apply -f 3-2-1-fanout-backup-cr.yaml
Anotaciones de backup compatibles
La siguiente tabla describe las anotaciones que puedes usar al crear un backup CR.
| Anotación | Tipo | Descripción | Valor predeterminado |
|---|---|---|---|
protect.trident.netapp.io/backup-completo |
cadena |
Especifica si una copia de seguridad debe ser no incremental. Establece en |
"false" |
protect.trident.netapp.io/snapshot-completion-timeout |
cadena |
El tiempo máximo permitido para que se complete toda la operación de instantánea. |
"60m" |
protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout |
cadena |
El tiempo máximo permitido para que las instantáneas de volumen alcancen el estado listo para usar. |
"30m" |
protect.trident.netapp.io/volume-snapshots-created-timeout |
cadena |
El tiempo máximo permitido para que se creen instantáneas de volumen. |
"5m" |
protect.trident.netapp.io/pvc-bind-timeout-sec |
cadena |
Tiempo máximo (en segundos) para esperar a que cualquier PersistentVolumeClaims (PVCs) recién creado alcance la fase |
"1200" (20 minutos) |