Sauvegardez dès maintenant vos applications Kubernetes à l'aide de ressources personnalisées dans NetApp Backup and Recovery
NetApp Backup and Recovery vous permet de sauvegarder manuellement des applications Kubernetes à l'aide de ressources personnalisées (CR).
Sauvegardez une application Kubernetes dès maintenant à l'aide de ressources personnalisées
Créez manuellement une sauvegarde d'une application Kubernetes pour établir une base de référence pour les futures sauvegardes et instantanés, ou pour garantir la protection des données les plus récentes.
|
|
Les ressources à portée de cluster sont incluses dans une sauvegarde, un instantané ou un clone si elles sont explicitement référencées dans la définition de l'application ou si elles ont des références à l'un des espaces de noms de l'application. |
Assurez-vous que la durée de validité du jeton de session AWS est suffisante pour toute opération de sauvegarde s3 de longue durée. Si le jeton expire pendant l'opération de sauvegarde, l'opération peut échouer.
-
Consultez la "Documentation de l'API AWS" pour plus d'informations sur la vérification de l'expiration du jeton de session actuel.
-
Consultez la "Documentation AWS IAM" pour plus d'informations sur les identifiants relatifs aux ressources AWS.
Créer un instantané local à l'aide d'une ressource personnalisée
Pour créer un instantané de votre application Kubernetes et le stocker localement, utilisez la ressource personnalisée Snapshot avec des attributs spécifiques.
-
Créez le fichier de ressource personnalisée (CR) et nommez-le
local-snapshot-cr.yaml. -
Dans le fichier que vous avez créé, configurez les attributs suivants :
-
metadata.name: (Obligatoire) Le nom de cette ressource personnalisée; choisissez un nom unique et pertinent pour votre environnement.
-
spec.applicationRef : Le nom Kubernetes de l'application à capturer.
-
spec.appVaultRef : (Obligatoire) Le nom de l'AppVault où le contenu de l'instantané (métadonnées) doit être stocké.
-
spec.reclaimPolicy : (Optionnel) Définit ce qui arrive à l'AppArchive d’un instantané lorsque le CR de l’instantané est supprimé. Cela signifie que même lorsqu’il est défini sur
Retain, l’instantané sera supprimé. Options valides :-
Retain(défaut) -
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
-
-
-
Après avoir rempli le fichier
local-snapshot-cr.yamlavec les valeurs correctes, appliquez le CR :kubectl apply -f local-snapshot-cr.yaml
Sauvegardez une application sur un stockage d'objets à l'aide d'une ressource personnalisée
Créez un CR de sauvegarde avec des attributs spécifiques pour sauvegarder votre application vers un magasin d'objets.
-
Créez le fichier de ressource personnalisée (CR) et nommez-le
object-store-backup-cr.yaml. -
Dans le fichier que vous avez créé, configurez les attributs suivants :
-
metadata.name: (Obligatoire) Le nom de cette ressource personnalisée; choisissez un nom unique et pertinent pour votre environnement.
-
spec.applicationRef: (Obligatoire) Le nom Kubernetes de l'application à sauvegarder.
-
spec.appVaultRef : (Obligatoire, incompatible avec spec.appVaultTargetsRef) Si vous utilisez le même compartiment pour stocker l’instantané et la sauvegarde, il s’agit du nom du AppVault où le contenu de la sauvegarde doit être stocké.
-
spec.appVaultTargetsRef : (Obligatoire, incompatible avec spec.appVaultRef) Si vous utilisez des compartiments différents pour stocker l’instantané et la sauvegarde, il s’agit du nom du AppVault où le contenu de la sauvegarde doit être stocké.
-
spec.dataMover : (Facultatif) Une chaîne indiquant l’outil de sauvegarde à utiliser pour l’opération de sauvegarde. La valeur est sensible à la casse et doit être
CBS. -
spec.reclaimPolicy : (Facultatif) Définit ce qui se passe pour le contenu de la sauvegarde (métadonnées/données du volume) lorsque la Backup CR est supprimée. Valeurs possibles :
-
Delete -
Retain(défaut)
-
-
spec.cleanupSnapshot : (Obligatoire) Garantit que l’instantané temporaire créé par le Backup CR n’est pas supprimé une fois l’opération de sauvegarde terminée. Valeur recommandée
false.Exemple YAML lors de l'utilisation du même compartiment pour stocker l'instantané et la sauvegarde :
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: falseExemple YAML lors de l'utilisation de compartiments différents pour stocker l'instantané et la sauvegarde :
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 -
-
Après avoir rempli le
object-store-backup-cr.yamlfichier avec les valeurs correctes, appliquez le CR :kubectl apply -f object-store-backup-cr.yaml
Créez une sauvegarde fanout 3-2-1 à l'aide d'une ressource personnalisée
La sauvegarde utilisant une architecture de distribution 3-2-1 copie une sauvegarde vers un stockage secondaire ainsi que vers un magasin d'objets. Pour créer une sauvegarde de distribution 3-2-1, créez un CR Backup avec des attributs spécifiques.
-
Créez le fichier de ressource personnalisée (CR) et nommez-le
3-2-1-fanout-backup-cr.yaml. -
Dans le fichier que vous avez créé, configurez les attributs suivants :
-
metadata.name: (Obligatoire) Le nom de cette ressource personnalisée; choisissez un nom unique et pertinent pour votre environnement.
-
spec.applicationRef: (Obligatoire) Le nom Kubernetes de l'application à sauvegarder.
-
spec.appVaultTargetsRef : (Obligatoire) Le nom du AppVault où le contenu de la sauvegarde doit être stocké.
-
spec.dataMover : (Facultatif) Une chaîne indiquant l’outil de sauvegarde à utiliser pour l’opération de sauvegarde. La valeur est sensible à la casse et doit être
CBS. -
spec.reclaimPolicy : (Facultatif) Définit ce qui se passe pour le contenu de la sauvegarde (métadonnées/données du volume) lorsque la Backup CR est supprimée. Valeurs possibles :
-
Delete -
Retain(défaut)
-
-
spec.cleanupSnapshot : (Obligatoire) Garantit que l’instantané temporaire créé par le Backup CR n’est pas supprimé une fois l’opération de sauvegarde terminée. Valeur recommandée
false. -
spec.replicateSnapshot : (Obligatoire) Indique à NetApp Backup and Recovery de répliquer l’instantané vers un stockage secondaire. Valeur requise
true. -
spec.replicateSnapshotReclaimPolicy : (Optionnel) Définit ce qui se passe pour l’instantané répliqué lorsqu’il est supprimé. Valeurs possibles :
-
Delete -
Retain(défaut)Exemple 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 -
-
Après avoir rempli le fichier
3-2-1-fanout-backup-cr.yamlavec les valeurs correctes, appliquez le CR :kubectl apply -f 3-2-1-fanout-backup-cr.yaml
Annotations de sauvegarde prises en charge
Le tableau suivant décrit les annotations que vous pouvez utiliser lors de la création d'un CR de sauvegarde.
| Annotation | Type | Description | valeur par défaut |
|---|---|---|---|
protect.trident.netapp.io/full-backup |
chaîne |
Indique si une sauvegarde doit être non incrémentielle. Définissez sur |
"false" |
protect.trident.netapp.io/snapshot-completion-timeout |
chaîne |
Le temps maximal autorisé pour que l'opération globale de capture d'instantané soit terminée. |
"60m" |
protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout |
chaîne |
Le temps maximal autorisé pour que les instantanés de volume atteignent l'état prêt à l'emploi. |
"30m" |
protect.trident.netapp.io/volume-snapshots-created-timeout |
chaîne |
Durée maximale autorisée pour la création d'instantanés de volume. |
"5m" |
protect.trident.netapp.io/pvc-bind-timeout-sec |
chaîne |
Temps maximal (en secondes) à attendre pour que les nouveaux PersistentVolumeClaims (PVCs) atteignent la |
"1200" (20 minutes) |