Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Beispiele für Sicherung und Wiederherstellung

Dieser Abschnitt enthält Beispiele für benutzerdefinierte Ressourcen für Sicherung und Wiederherstellung.

Der Standard-Speicherort für Sicherungen wird konfiguriert, wenn der rancher-backup Operator installiert oder upgraded wird.

Verschlüsselte Sicherungen können nur wiederhergestellt werden, wenn die benutzerdefinierte Ressource für die Wiederherstellung dasselbe Verschlüsselungskonfigurationsgeheimnis verwendet, das zur Erstellung der Sicherung verwendet wurde.

Sicherung

Dieser Abschnitt enthält Beispiele für benutzerdefinierte Ressourcen für Sicherung.

Siehe die Sicherungs-Konfigurationsreferenzseite für weitere Informationen zur Konfiguration der untenstehenden Optionen.

Sicherung am Standardstandort mit Verschlüsselung

apiVersion: resources.cattle.io/v1
kind: Backup
metadata:
  name: default-location-encrypted-backup
spec:
  resourceSetName: rancher-resource-set-full
  encryptionConfigSecretName: encryptionconfig

Wiederkehrende Sicherung am Standardstandort

apiVersion: resources.cattle.io/v1
kind: Backup
metadata:
  name: default-location-recurring-backup
spec:
  resourceSetName: rancher-resource-set-basic
  schedule: "@every 1h"
  retentionCount: 10

Verschlüsselte wiederkehrende Sicherung am Standardstandort

apiVersion: resources.cattle.io/v1
kind: Backup
metadata:
  name: default-enc-recurring-backup
spec:
  resourceSetName: rancher-resource-set-full
  encryptionConfigSecretName: encryptionconfig
  schedule: "@every 1h"
  retentionCount: 3

Verschlüsselte Sicherung in Minio

apiVersion: resources.cattle.io/v1
kind: Backup
metadata:
  name: minio-backup
spec:
  storageLocation:
    s3:
      credentialSecretName: minio-creds
      credentialSecretNamespace: default
      bucketName: rancherbackups
      endpoint: minio.xip.io
      endpointCA: <base64-encoded-cert>
  resourceSetName: rancher-resource-set-full
  encryptionConfigSecretName: encryptionconfig

Sicherung in S3 unter Verwendung des AWS-Anmeldegeheimnisses

apiVersion: resources.cattle.io/v1
kind: Backup
metadata:
  name: s3-backup
spec:
  storageLocation:
    s3:
      credentialSecretName: s3-creds
      credentialSecretNamespace: default
      bucketName: rancher-backups
      folder: ecm1
      region: us-west-2
      endpoint: s3.us-west-2.amazonaws.com
  resourceSetName: rancher-resource-set-full
  encryptionConfigSecretName: encryptionconfig

Wiederkehrende Sicherung in S3 unter Verwendung des AWS-Anmeldegeheimnisses

apiVersion: resources.cattle.io/v1
kind: Backup
metadata:
  name: s3-recurring-backup
spec:
  storageLocation:
    s3:
      credentialSecretName: s3-creds
      credentialSecretNamespace: default
      bucketName: rancher-backups
      folder: ecm1
      region: us-west-2
      endpoint: s3.us-west-2.amazonaws.com
  resourceSetName: rancher-resource-set-full
  encryptionConfigSecretName: encryptionconfig
  schedule: "@every 1h"
  retentionCount: 10

Sicherung von EC2-Knoten mit IAM-Berechtigung zum Zugriff auf S3

Dieses Beispiel zeigt, dass das AWS-Anmeldegeheimnis nicht bereitgestellt werden muss, um eine Sicherung zu erstellen, wenn die Knoten, die rancher-backup ausführen, über diese Berechtigungen für den Zugriff auf S3 verfügen.

apiVersion: resources.cattle.io/v1
kind: Backup
metadata:
  name: s3-iam-backup
spec:
  storageLocation:
    s3:
      bucketName: rancher-backups
      folder: ecm1
      region: us-west-2
      endpoint: s3.us-west-2.amazonaws.com
  resourceSetName: rancher-resource-set-full
  encryptionConfigSecretName: encryptionconfig

Wiederherstellung

Dieser Abschnitt enthält Beispiele für benutzerdefinierte Ressourcen für die Wiederherstellung.

Siehe die Wiederherstellungs-Konfigurationsreferenzseite für weitere Informationen zur Konfiguration der untenstehenden Optionen.

Wiederherstellung unter Verwendung des Standardsicherungsdateispeicherorts.

apiVersion: resources.cattle.io/v1
kind: Restore
metadata:
  name: restore-default
spec:
  backupFilename: default-location-recurring-backup-752ecd87-d958-4d20-8350-072f8d090045-2020-09-26T12-29-54-07-00.tar.gz
#  encryptionConfigSecretName: test-encryptionconfig

Wiederherstellung für die Rancher-Migration

apiVersion: resources.cattle.io/v1
kind: Restore
metadata:
  name: restore-migration
spec:
  backupFilename: backup-b0450532-cee1-4aa1-a881-f5f48a007b1c-2020-09-15T07-27-09Z.tar.gz
  prune: false
  storageLocation:
    s3:
      credentialSecretName: s3-creds
      credentialSecretNamespace: default
      bucketName: rancher-backups
      folder: ecm1
      region: us-west-2
      endpoint: s3.us-west-2.amazonaws.com

Wiederherstellung aus verschlüsselter Sicherung.

apiVersion: resources.cattle.io/v1
kind: Restore
metadata:
  name: restore-encrypted
spec:
  backupFilename: default-test-s3-def-backup-c583d8f2-6daf-4648-8ead-ed826c591471-2020-08-24T20-47-05Z.tar.gz
  encryptionConfigSecretName: encryptionconfig

Wiederherstellung einer verschlüsselten Sicherung von Minio.

apiVersion: resources.cattle.io/v1
kind: Restore
metadata:
  name: restore-minio
spec:
  backupFilename: default-minio-backup-demo-aa5c04b7-4dba-4c48-9ac4-ab7916812eaa-2020-08-30T13-18-17-07-00.tar.gz
  storageLocation:
    s3:
      credentialSecretName: minio-creds
      credentialSecretNamespace: default
      bucketName: rancherbackups
      endpoint: minio.xip.io
      endpointCA: <base64-encoded-cert>
  encryptionConfigSecretName: test-encryptionconfig

Wiederherstellung aus Sicherung unter Verwendung eines AWS-Anmeldegeheimnisses zum Zugriff auf S3

apiVersion: resources.cattle.io/v1
kind: Restore
metadata:
  name: restore-s3-demo
spec:
  backupFilename: test-s3-recurring-backup-752ecd87-d958-4d20-8350-072f8d090045-2020-09-26T12-49-34-07-00.tar.gz.enc
  storageLocation:
    s3:
      credentialSecretName: s3-creds
      credentialSecretNamespace: default
      bucketName: rancher-backups
      folder: ecm1
      region: us-west-2
      endpoint: s3.us-west-2.amazonaws.com
  encryptionConfigSecretName: test-encryptionconfig

Wiederherstellung von EC2-Knoten mit IAM-Berechtigungen zum Zugriff auf S3

Dieses Beispiel zeigt, dass das AWS-Anmeldegeheimnis nicht bereitgestellt werden muss, um aus der Sicherung wiederherzustellen, wenn die Knoten, die rancher-backup ausführen, diese Berechtigungen für den Zugriff auf S3 haben.

apiVersion: resources.cattle.io/v1
kind: Restore
metadata:
  name: restore-s3-demo
spec:
  backupFilename: default-test-s3-recurring-backup-84bf8dd8-0ef3-4240-8ad1-fc7ec308e216-2020-08-24T10#52#44-07#00.tar.gz
  storageLocation:
    s3:
      bucketName: rajashree-backup-test
      folder: ecm1
      region: us-west-2
      endpoint: s3.us-west-2.amazonaws.com
  encryptionConfigSecretName: test-encryptionconfig

Beispiel für EncryptionConfiguration

Die nachstehenden Snippets zeigen zwei verschiedene Arten von Geheimnissen und deren Relevanz in Bezug auf Sicherung und Wiederherstellung von benutzerdefinierten Ressourcen. Das Erstellen des Secrets kann mit dem folgenden Befehl erfolgen:

kubectl create secret generic example-encryptionconfig \
  --from-file=./encryption-provider-config.yaml \
  -n cattle-resources-system

Das erste Beispiel ist ein Secret, das verwendet wird, um die Sicherungsdateien zu verschlüsseln. Der Sicherungs-Operator wird den Inhalt des encryption-provider-config.yaml Schlüssels lesen, der die Definition einer EncryptionConfiguration-Ressource enthält, die als Base64 kodiert ist.

Das zweite Beispiel ist die Kubernetes EncryptionConfiguration-Ressource selbst, die die Klartextform des Base64-kodierten Inhalts aus dem ersten Beispiel darstellt. Diese Ressource wird auch verwendet, um Secrets zu verschlüsseln, wenn sie in etcd gespeichert werden, sowie in allgemeinen Fällen der Verschlüsselung im Ruhezustand in Kubernetes. Weitere Informationen dazu finden Sie in der Upstream-Dokumentation. Die in dieser Ressource definierten Schlüssel sind entscheidend für den Zugriff auf die Inhalte verschlüsselter Sicherungen, insbesondere während des Wiederherstellungsprozesses. Aus diesem Grund müssen diese sicher, vertraulich und leicht abrufbar aufbewahrt werden.

apiVersion: v1
data:
  encryption-provider-config.yaml: YXBpVmVyc2lvbjogYXBpc2VydmVyLmNvbmZpZy5rOHMuaW8vdjEKa2luZDogRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24KcmVzb3VyY2VzOgogIC0gcmVzb3VyY2VzOgogICAgICAtIHNlY3JldHMKICAgIHByb3ZpZGVyczoKICAgICAgLSBhZXNnY206CiAgICAgICAgICBrZXlzOgogICAgICAgICAgICAtIG5hbWU6IGtleTEKICAgICAgICAgICAgICBzZWNyZXQ6IGMyVmpjbVYwSUdseklITmxZM1Z5WlE9PQogICAgICAgICAgICAtIG5hbWU6IGtleTIKICAgICAgICAgICAgICBzZWNyZXQ6IGRHaHBjeUJwY3lCd1lYTnpkMjl5WkE9PQogICAgICAtIGFlc2NiYzoKICAgICAgICAgIGtleXM6CiAgICAgICAgICAgIC0gbmFtZToga2V5MQogICAgICAgICAgICAgIHNlY3JldDogYzJWamNtVjBJR2x6SUhObFkzVnlaUT09CiAgICAgICAgICAgIC0gbmFtZToga2V5MgogICAgICAgICAgICAgIHNlY3JldDogZEdocGN5QnBjeUJ3WVhOemQyOXlaQT09CiAgICAgIC0gc2VjcmV0Ym94OgogICAgICAgICAga2V5czoKICAgICAgICAgICAgLSBuYW1lOiBrZXkxCiAgICAgICAgICAgICAgc2VjcmV0OiBZV0pqWkdWbVoyaHBhbXRzYlc1dmNIRnljM1IxZG5kNGVYb3hNak0wTlRZPQ==
kind: Secret
metadata:
  name: example-encryptionconfig
  namespace: cattle-resources-system
type: Opaque
apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
  - resources:
      - secrets
    providers:
      - aesgcm:
          keys:
            - name: key1
              secret: c2VjcmV0IGlzIHNlY3VyZQ==
            - name: key2
              secret: dGhpcyBpcyBwYXNzd29yZA==
      - aescbc:
          keys:
            - name: key1
              secret: c2VjcmV0IGlzIHNlY3VyZQ==
            - name: key2
              secret: dGhpcyBpcyBwYXNzd29yZA==
      - secretbox:
          keys:
            - name: key1
              secret: YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY=