Définissez une application de gestion avec Trident Protect
Vous pouvez définir une application que vous souhaitez gérer avec Trident Protect en créant une application CR et une application CR AppVault associée.
Créez une CR AppVault
Vous devez créer une CR AppVault qui sera utilisée lors des opérations de protection des données sur l'application et la CR AppVault doit résider sur le cluster sur lequel Trident Protect est installé. La CR AppVault est spécifique à votre environnement ; pour obtenir des exemples de CRS AppVault, reportez-vous à la section "Ressources personnalisées AppVault."
Définir une application
Vous devez définir chaque application à gérer avec Trident Protect. Vous pouvez définir une application à gérer en créant manuellement une application CR ou en utilisant l'interface de ligne de commande Trident Protect.
-
Créez le fichier CR de l'application de destination :
-
Créez le fichier de ressource personnalisée (CR) et nommez-le (par exemple,
maria-app.yaml
). -
Configurez les attributs suivants :
-
metadata.name: (required) le nom de la ressource personnalisée de l'application. Notez le nom que vous choisissez car les autres fichiers CR nécessaires aux opérations de protection font référence à cette valeur.
-
spec.includedNamespaces: (required) utilisez l'espace de noms et le sélecteur d'étiquettes pour spécifier les espaces de noms et les ressources utilisés par l'application. L'espace de nom de l'application doit faire partie de cette liste. Le sélecteur d'étiquettes est facultatif et peut être utilisé pour filtrer les ressources dans chaque espace de noms spécifié.
-
spec.includedClusterScopedResources: (Optional) utilisez cet attribut pour spécifier les ressources cluster-scoped à inclure dans la définition de l'application. Cet attribut vous permet de sélectionner ces ressources en fonction de leur groupe, de leur version, de leur type et de leurs étiquettes.
-
GroupVersionKind: (required) Spécifie le groupe d'API, la version et le type de la ressource cluster-scoped.
-
LabelSelector: (Optional) filtre les ressources du cluster-scoped en fonction de leurs étiquettes.
-
-
metadata.annotations.protect.trident.netapp.io/skip-vm-freeze: (Optional) cette annotation s'applique uniquement aux applications définies à partir de machines virtuelles, comme dans les environnements KubeVirt, où les fichiers se figent avant les snapshots. Spécifiez si cette application peut écrire dans le système de fichiers pendant un snapshot. Si elle est définie sur true, l'application ignore le paramètre global et peut écrire dans le système de fichiers pendant un snapshot. Si elle est définie sur FALSE, l'application ignore le paramètre global et le système de fichiers est bloqué pendant un snapshot. Si elle est spécifiée mais que l'application ne comporte aucune machine virtuelle dans la définition de l'application, l'annotation est ignorée. S'il n'est pas spécifié, l'application suit le "Paramètre de gel Global Trident Protect".
-
-
Si vous devez appliquer cette annotation après la création d'une application, vous pouvez utiliser la commande suivante :
kubectl annotate application -n <application CR namespace> <application CR name> protect.trident.netapp.io/skip-vm-freeze="true"
+
Exemple YAML :
+
apiVersion: protect.trident.netapp.io/v1
kind: Application
metadata:
annotations:
protect.trident.netapp.io/skip-vm-freeze: "false"
name: my-app-name
namespace: my-app-namespace
spec:
includedNamespaces:
- namespace: namespace-1
labelSelector:
matchLabels:
app: example-app
- namespace: namespace-2
labelSelector:
matchLabels:
app: another-example-app
includedClusterScopedResources:
- groupVersionKind:
group: rbac.authorization.k8s.io
kind: ClusterRole
version: v1
labelSelector:
matchLabels:
mylabel: test
-
Une fois que vous avez créé la demande de modification de l'application pour l'adapter à votre environnement, appliquez la demande de modification. Par exemple :
kubectl apply -f maria-app.yaml
-
Créez et appliquez la définition de l'application à l'aide de l'un des exemples suivants, en remplaçant les valeurs entre parenthèses par les informations de votre environnement. Vous pouvez inclure des espaces de noms et des ressources dans la définition de l'application à l'aide de listes séparées par des virgules avec les arguments présentés dans les exemples.
Vous pouvez éventuellement utiliser une annotation lorsque vous créez une application pour spécifier si l'application peut écrire dans le système de fichiers pendant un snapshot. Cela s'applique uniquement aux applications définies à partir de machines virtuelles, par exemple dans les environnements KubeVirt, où les systèmes de fichiers se figent avant les snapshots. Si vous définissez l'annotation sur
true
, l'application ignore le paramètre global et peut écrire dans le système de fichiers pendant un snapshot. Si vous le définissez surfalse
, l'application ignore le paramètre global et le système de fichiers est bloqué pendant un instantané. Si vous utilisez l'annotation mais que l'application n'a pas de machines virtuelles dans la définition de l'application, l'annotation est ignorée. Si vous n'utilisez pas l'annotation, l'application suit le "Paramètre de gel Global Trident Protect".Pour spécifier l'annotation lorsque vous créez une application à l'aide de l'interface de ligne de commande, vous pouvez utiliser
--annotation
l'indicateur.-
Créez l'application et utilisez le paramètre global pour le comportement de blocage du système de fichiers :
tridentctl-protect create application <my_new_app_cr_name> --namespaces <namespaces_to_include> --csr <cluster_scoped_resources_to_include> --namespace <my-app-namespace>
-
Créez l'application et configurez le paramètre de l'application locale pour le comportement de blocage du système de fichiers :
tridentctl-protect create application <my_new_app_cr_name> --namespaces <namespaces_to_include> --csr <cluster_scoped_resources_to_include> --namespace <my-app-namespace> --annotation protect.trident.netapp.io/skip-vm-freeze=<"true"|"false">
-