Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Utilizzare gli oggetti Trident Protect AppVault per gestire i bucket

Collaboratori

La risorsa personalizzata bucket (CR) per Trident Protect è nota come AppVault. Gli oggetti AppVault sono la rappresentazione dichiarativa del flusso di lavoro di Kubernetes di un bucket di storage. AppVault CR contiene le configurazioni necessarie per l'utilizzo di un bucket nelle operazioni di protezione, come backup, snapshot, operazioni di ripristino e replica SnapMirror. Solo gli amministratori possono creare AppVaults.

Esempi di generazione delle chiavi e di definizione di AppVault

Quando si definisce un CR AppVault, è necessario includere le credenziali per accedere alle risorse ospitate dal provider. La modalità di generazione delle chiavi per le credenziali varia a seconda del provider. Di seguito sono riportati alcuni esempi di generazione delle chiavi della riga di comando per diversi provider, seguiti da esempi di definizioni AppVault per ciascun provider.

Google Cloud

Esempio di generazione delle chiavi:

kubectl create secret generic gcp-creds --from-file=credentials=<mycreds-file.json> -n trident-protect

I seguenti esempi di definizione di AppVault sono forniti come CR che è possibile utilizzare e modificare, oppure come un esempio di comando CLI Trident Protect che genera automaticamente la CR di AppVault:

Esempio di AppVault CR
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
Esempio di creazione di AppVault CR utilizzando la CLI Trident Protect
tridentctl protect create vault gcp my-new-vault --bucket mybucket --project my-gcp-project --secret <gcp-creds>/<credentials>

Amazon S3

Esempio di generazione delle chiavi:

kubectl create secret generic -n trident-protect s3 --from-literal=accessKeyID=<secret-name> --from-literal=secretAccessKey=<generic-s3-trident-protect-src-bucket-secret>

I seguenti esempi di definizione di AppVault sono forniti come CR che è possibile utilizzare e modificare, oppure come un esempio di comando CLI Trident Protect che genera automaticamente la CR di AppVault:

Esempio di AppVault CR
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
Esempio di creazione di AppVault con CLI
tridentctl protect create vault GenericS3 s3vault --bucket <bucket-name> --secret  <secret-name>  --endpoint <s3-endpoint>

Microsoft Azure

Esempio di generazione delle chiavi:

kubectl create secret generic <secret-name> --from-literal=accountKey=<secret-name> -n trident-protect

I seguenti esempi di definizione di AppVault sono forniti come CR che è possibile utilizzare e modificare, oppure come un esempio di comando CLI Trident Protect che genera automaticamente la CR di AppVault:

Esempio di AppVault CR
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
Esempio di creazione di AppVault con CLI
tridentctl protect create vault Azure <vault-name> --account <account-name> --bucket <bucket-name> --secret <secret-name>

Valori supportati per ProviderType e ProviderConfig

Le providerType chiavi e providerConfig in AppVault CR richiedono valori specifici. Nella tabella seguente sono elencati i valori supportati per la providerType chiave e la chiave associata providerConfig da utilizzare con ciascun providerType valore.

Valore supportato providerType Chiave associata providerConfig

AWS

s3

Azure

azure

GCP

gcp

GenericS3

s3

OntapS3

s3

StorageGridS3

s3

Utilizzare il browser AppVault per visualizzare le informazioni AppVault

È possibile utilizzare il plug-in Trident Protect CLI per visualizzare informazioni sugli oggetti AppVault creati nel cluster.

Fasi
  1. Visualizzare il contenuto di un oggetto AppVault:

    tridentctl protect get appvaultcontent gcp-vault --show-resources all

    Output di esempio:

    +-------------+-------+----------+-----------------------------+---------------------------+
    |   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) |
    +-------------+-------+----------+-----------------------------+---------------------------+
  2. Facoltativamente, per visualizzare AppVaultPath per ogni risorsa, utilizzare il flag --show-paths.

    Il nome del cluster nella prima colonna della tabella è disponibile solo se è stato specificato un nome cluster nell'installazione di Trident Protect helm. Ad esempio: --set clusterName=production1.

Rimuovere un AppVault

È possibile rimuovere un oggetto AppVault in qualsiasi momento.

Nota Non rimuovere la finalizers chiave in AppVault CR prima di eliminare l'oggetto AppVault. In tal caso, i dati residui nel bucket AppVault e le risorse orfane nel cluster possono risultare.
Prima di iniziare

Assicurarsi di aver eliminato tutte le istantanee e i backup memorizzati nel bucket associato.

Rimuovere un AppVault usando l'interfaccia a riga di comando di Kubernetes
  1. Rimuovere l'oggetto AppVault, sostituendo appvault_name con il nome dell'oggetto AppVault da rimuovere:

    kubectl delete appvault <appvault_name> -n trident-protect
Rimuovere un AppVault utilizzando la CLI di Trident
  1. Rimuovere l'oggetto AppVault, sostituendo appvault_name con il nome dell'oggetto AppVault da rimuovere:

    tridentctl protect delete appvault <appvault_name> -n trident-protect