Utilisez les objets Trident Protect AppVault pour gérer les compartiments
La ressource personnalisée de compartiment (CR) pour Trident Protect est appelée AppVault. Les objets AppVault sont la représentation déclarative du workflow Kubernetes d'un compartiment de stockage. Une CR AppVault contient les configurations nécessaires à l'utilisation d'un compartiment dans les opérations de protection, telles que les sauvegardes, les snapshots, les opérations de restauration et la réplication SnapMirror. Seuls les administrateurs peuvent créer des AppVault.
Exemples de génération de clés et de définition d'AppVault
Lors de la définition d'une CR AppVault, vous devez inclure des informations d'identification pour accéder aux ressources hébergées par le fournisseur. La façon dont vous générez les clés pour les informations d'identification varie en fonction du fournisseur. Vous trouverez ci-dessous des exemples de génération de clés de ligne de commande pour plusieurs fournisseurs, suivis des exemples de définitions AppVault pour chaque fournisseur.
Google Cloud
Exemple de génération de clés :
kubectl create secret generic gcp-creds --from-file=credentials=<mycreds-file.json> -n trident-protect
Les exemples de définition d'AppVault suivants sont fournis sous la forme d'une CR que vous pouvez utiliser et modifier, ou sous la forme d'une commande CLI Trident Protect qui génère la CR d'AppVault pour vous :
apiVersion: protect.trident.netapp.io/v1
kind: AppVault
metadata:
name: gcp-trident-protect-src-bucket-b643cc50-0429-4ad5-971f-ac4a83621922
namespace: trident-protect
spec:
providerType: GCP
providerConfig:
gcp:
bucketName: trident-protect-src-bucket
projectID: project-id
providerCredentials:
credentials:
valueFromSecret:
key: credentials
name: gcp-trident-protect-src-bucket-secret
tridentctl protect create vault gcp my-new-vault --bucket mybucket --project my-gcp-project --secret <gcp-creds>/<credentials>
Amazon S3
Exemple de génération de clés :
kubectl create secret generic -n trident-protect s3 --from-literal=accessKeyID=<secret-name> --from-literal=secretAccessKey=<generic-s3-trident-protect-src-bucket-secret>
Les exemples de définition d'AppVault suivants sont fournis sous la forme d'une CR que vous pouvez utiliser et modifier, ou sous la forme d'une commande CLI Trident Protect qui génère la CR d'AppVault pour vous :
apiVersion: protect.trident.netapp.io/v1
kind: AppVault
metadata:
name: amazon-s3-trident-protect-src-bucket-b643cc50-0429-4ad5-971f-ac4a83621922
namespace: trident-protect
spec:
providerType: AWS
providerConfig:
s3:
bucketName: trident-protect-src-bucket
endpoint: s3.example.com
providerCredentials:
accessKeyID:
valueFromSecret:
key: accessKeyID
name: s3
secretAccessKey:
valueFromSecret:
key: secretAccessKey
name: s3
tridentctl protect create vault GenericS3 s3vault --bucket <bucket-name> --secret <secret-name> --endpoint <s3-endpoint>
Microsoft Azure
Exemple de génération de clés :
kubectl create secret generic <secret-name> --from-literal=accountKey=<secret-name> -n trident-protect
Les exemples de définition d'AppVault suivants sont fournis sous la forme d'une CR que vous pouvez utiliser et modifier, ou sous la forme d'une commande CLI Trident Protect qui génère la CR d'AppVault pour vous :
apiVersion: protect.trident.netapp.io/v1
kind: AppVault
metadata:
name: azure-trident-protect-src-bucket-b643cc50-0429-4ad5-971f-ac4a83621922
namespace: trident-protect
spec:
providerType: Azure
providerConfig:
azure:
accountName: account-name
bucketName: trident-protect-src-bucket
providerCredentials:
accountKey:
valueFromSecret:
key: accountKey
name: azure-trident-protect-src-bucket-secret
tridentctl protect create vault Azure <vault-name> --account <account-name> --bucket <bucket-name> --secret <secret-name>
Valeurs prises en charge pour providerType et providerConfig
Les providerType
clés et providerConfig
d'une CR AppVault requièrent des valeurs spécifiques. Le tableau suivant répertorie les valeurs prises en charge pour la providerType
clé et la clé associée providerConfig
que vous devez utiliser avec chaque providerType
valeur.
Valeur prise en charge providerType |
Clé associée providerConfig |
---|---|
AWS |
s3 |
Azure |
azure |
GCP |
gcp |
GenericS3 |
s3 |
OntapS3 |
s3 |
StorageGridS3 |
s3 |
Utilisez le navigateur AppVault pour afficher les informations AppVault
Vous pouvez utiliser le plug-in Trident Protect CLI pour afficher des informations sur les objets AppVault qui ont été créés sur le cluster.
-
Afficher le contenu d'un objet AppVault :
tridentctl protect get appvaultcontent gcp-vault --show-resources all
Exemple de sortie :
+-------------+-------+----------+-----------------------------+---------------------------+ | CLUSTER | APP | TYPE | NAME | TIMESTAMP | +-------------+-------+----------+-----------------------------+---------------------------+ | | mysql | snapshot | mysnap | 2024-08-09 21:02:11 (UTC) | | production1 | mysql | snapshot | hourly-e7db6-20240815180300 | 2024-08-15 18:03:06 (UTC) | | production1 | mysql | snapshot | hourly-e7db6-20240815190300 | 2024-08-15 19:03:06 (UTC) | | production1 | mysql | snapshot | hourly-e7db6-20240815200300 | 2024-08-15 20:03:06 (UTC) | | production1 | mysql | backup | hourly-e7db6-20240815180300 | 2024-08-15 18:04:25 (UTC) | | production1 | mysql | backup | hourly-e7db6-20240815190300 | 2024-08-15 19:03:30 (UTC) | | production1 | mysql | backup | hourly-e7db6-20240815200300 | 2024-08-15 20:04:21 (UTC) | | production1 | mysql | backup | mybackup5 | 2024-08-09 22:25:13 (UTC) | | | mysql | backup | mybackup | 2024-08-09 21:02:52 (UTC) | +-------------+-------+----------+-----------------------------+---------------------------+
-
Si vous le souhaitez, utilisez l'indicateur pour afficher le chemin d'accès à l'application pour chaque ressource
--show-paths
.Le nom de cluster figurant dans la première colonne du tableau n'est disponible que si un nom de cluster a été spécifié dans l'installation de Trident Protect Helm. Par exemple :
--set clusterName=production1
.
Supprimer un AppVault
Vous pouvez supprimer un objet AppVault à tout moment.
Ne supprimez pas la finalizers clé dans la CR AppVault avant de supprimer l'objet AppVault. Dans ce cas, des données résiduelles dans le compartiment AppVault et des ressources orphelines dans le cluster.
|
Assurez-vous d'avoir supprimé tous les snapshots et les sauvegardes stockés dans le compartiment associé.
-
Supprimez l'objet AppVault, en le remplaçant
appvault_name
par le nom de l'objet AppVault à supprimer :kubectl delete appvault <appvault_name> -n trident-protect
-
Supprimez l'objet AppVault, en le remplaçant
appvault_name
par le nom de l'objet AppVault à supprimer :tridentctl protect delete appvault <appvault_name> -n trident-protect