Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Verwenden Sie AppVault-Objekte zum Verwalten von Buckets

Beitragende

Die benutzerdefinierte Bucket-Ressource (CR) für Trident Protect wird als AppVault bezeichnet. AppVault-Objekte sind die deklarative Kubernetes-Workflow-Darstellung eines Storage-Buckets. Ein AppVault CR enthält die Konfigurationen, die für einen Bucket erforderlich sind, der für Schutzvorgänge verwendet werden kann, z. B. Backups, Snapshots, Wiederherstellungsvorgänge und SnapMirror-Replikation. Nur Administratoren können AppVaults erstellen.

Beispiele für die Schlüsselgenerierung und AppVault-Definitionen

Beim Definieren eines AppVault CR müssen Sie Anmeldeinformationen eingeben, um auf die vom Anbieter gehosteten Ressourcen zugreifen zu können. Die Art und Weise, wie Sie die Schlüssel für die Anmeldeinformationen generieren, hängt vom Anbieter ab. Im Folgenden finden Sie Beispiele für die Schlüsselgenerierung über die Befehlszeile für mehrere Anbieter, gefolgt von AppVault-Beispieldefinitionen für jeden Anbieter.

Google Cloud

Beispiel für die Schlüsselgenerierung:

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

Die folgenden AppVault-Definitionsbeispiele werden als CR bereitgestellt, den Sie verwenden und ändern können, oder als Beispiel für einen Trident Protect CLI-Befehl, der den AppVault CR für Sie generiert:

Beispiel für 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
Beispiel für die Erstellung von AppVault CR mithilfe der Trident Protect CLI
tridentctl protect create vault gcp my-new-vault --bucket mybucket --project my-gcp-project --secret <gcp-creds>/<credentials>

Amazon S3

Beispiel für die Schlüsselgenerierung:

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

Die folgenden AppVault-Definitionsbeispiele werden als CR bereitgestellt, den Sie verwenden und ändern können, oder als Beispiel für einen Trident Protect CLI-Befehl, der den AppVault CR für Sie generiert:

Beispiel für 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
Beispiel für die AppVault-Erstellung mit CLI
tridentctl protect create vault GenericS3 s3vault --bucket <bucket-name> --secret  <secret-name>  --endpoint <s3-endpoint>

Microsoft Azure

Beispiel für die Schlüsselgenerierung:

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

Die folgenden AppVault-Definitionsbeispiele werden als CR bereitgestellt, den Sie verwenden und ändern können, oder als Beispiel für einen Trident Protect CLI-Befehl, der den AppVault CR für Sie generiert:

Beispiel für 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
Beispiel für die AppVault-Erstellung mit CLI
tridentctl protect create vault Azure <vault-name> --account <account-name> --bucket <bucket-name> --secret <secret-name>

Unterstützte Werte für providerType und providerConfig

Die providerType Schlüssel und providerConfig in einem AppVault CR erfordern bestimmte Werte. In der folgenden Tabelle sind die unterstützten Werte für den Schlüssel sowie der zugehörige providerConfig Schlüssel aufgeführt, den Sie für providerType jeden Wert verwenden müssen providerType.

Unterstützter Wert providerType Zugeordneter providerConfig Schlüssel

AWS

s3

Azure

Azure

GCP

GCP

GenericS3

s3

OntapS3

s3

StorageGridS3

s3

Verwenden Sie den AppVault-Browser, um Informationen zu AppVault anzuzeigen

Sie können das Trident Protect CLI-Plugin verwenden, um Informationen über AppVault-Objekte anzuzeigen, die auf dem Cluster erstellt wurden.

Schritte
  1. Inhalt eines AppVault-Objekts anzeigen:

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

    Beispielausgabe:

    +-------------+-------+----------+-----------------------------+---------------------------+
    |   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. Um den AppVaultPath für jede Ressource anzuzeigen, verwenden Sie optional das Flag --show-paths.

    Der Cluster-Name in der ersten Spalte der Tabelle ist nur verfügbar, wenn in der Installation Trident Protect Helm ein Cluster-Name angegeben wurde. Zum Beispiel: --set clusterName=production1.

Entfernen Sie einen AppVault

Sie können ein AppVault-Objekt jederzeit entfernen.

Hinweis Entfernen Sie den Schlüssel im AppVault CR nicht finalizers, bevor Sie das AppVault-Objekt löschen. Wenn Sie dies tun, kann dies zu Restdaten im AppVault-Bucket und verwaisten Ressourcen im Cluster führen.
Bevor Sie beginnen

Stellen Sie sicher, dass Sie alle Snapshots und Backups gelöscht haben, die im zugehörigen Bucket gespeichert sind.

Entfernen Sie einen AppVault mithilfe der Kubernetes-CLI
  1. Entfernen Sie das AppVault-Objekt und ersetzen Sie appvault_name es durch den Namen des zu entfernenden AppVault-Objekts:

    kubectl delete appvault <appvault_name> -n trident-protect
Entfernen Sie einen AppVault mithilfe der Trident-CLI
  1. Entfernen Sie das AppVault-Objekt und ersetzen Sie appvault_name es durch den Namen des zu entfernenden AppVault-Objekts:

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