前提条件

バックアップおよびリストアの前提条件

Verrazzanoでは、コンポーネントおよびプラットフォーム・レベルでのバックアップおよびリカバリのためにVelerorancher-backupが提供されています。次の手順に従い、環境においてこれらのコンポーネントを有効化して構成します。

ノート: OpenSearchのバックアップ機能を使用できるのは、そのコンポーネントがVerrazzano CRで明示的に有効になっている場合のみです。

バックアップ・コンポーネントの有効化

永続データをバックアップおよびリストアするには、まずveleroおよびrancherBackupコンポーネントを有効にする必要があります。次の構成は、prodインストール・プロファイルを使用してバックアップ・コンポーネントを有効にする方法を示しています。

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: example-verrazzano
spec:
  profile: prod
  components:    
    velero:
      enabled: true
    rancherBackup:
      enabled: true  

ノート: rancherBackupが有効になるのはrancherも有効な場合のみです。

有効化した後で、verrazzano-backupネームスペースで実行されているVeleroポッドを確認します。

# Sample of pods running after enabling the velero component

$ kubectl get pod -n verrazzano-backup
NAME                      READY   STATUS    RESTARTS   AGE
restic-ndxfk              1/1     Running   0          21h
velero-5ff8766fd4-xbn4z   1/1     Running   0          21h

rancher-backupの場合、ポッドはcattle-resources-systemネームスペースに作成されます。

# Sample of pods running after enabling the rancherBackup component

$ kubectl get pod -n cattle-resources-system
NAME                              READY   STATUS    RESTARTS   AGE
rancher-backup-5c4b985697-xw7md   1/1     Running   0          2d4h

バックアップ・コンポーネントの構成

次に、veleroコンポーネントとrancherBackupコンポーネント両方の次の前提条件を満たします:

  • オブジェクト・ストアのバケット名。

    • どちらのコンポーネントもAmazon S3互換のオブジェクト・ストアが必要です。つまり、オブジェクト・ストレージ・バケットが必要です。これには、Oracle Cloudテナンシの任意のコンパートメント内のOracle Cloud Object Storageバケットを使用できます。
      • 参照できるようにバケット名とテナンシ名を書き留めておきます。
      • Object Storageでのバケットの作成の詳細は、このページを参照してください。
    • プライベート・クラウド、エンタープライズ・ネットワークまたはエアギャップ環境では、MinIOまたは同等のオブジェクト・ストア・ソリューションを使用できます。
  • オブジェクト・ストアの接頭辞名。これは、バックアップ・コンポーネントによって作成されるバケット内の子フォルダになります。

  • オブジェクト・ストアのリージョン情報。

  • 署名キー。Amazon S3互換オブジェクト・ストアに対する認証に必要です。これらのステップに従って、顧客秘密キーを作成します。

Velero CLI (オプション)

Velero CLIを使用すると、簡単な方法でVeleroオブジェクトにアクセスできます。kubectlを使用してこれらを管理することもできます。

必要に応じて、次のようにOracle LinuxにVelero CLIをインストールします:

$ rpm -ivh https://yum.oracle.com/repo/OracleLinux/OL7/developer/olcne/x86_64/getPackage/velero-1.8.1-1.el7.x86_64.rpm

コンポーネント固有の前提条件

コンポーネント固有の次の前提条件を満たします:

Veleroオペレータの前提条件

ここで、次のオブジェクトを作成します:

  • オブジェクト・ストア資格証明を保持するbackup-secret.txtファイルを作成します。

    [default]
    aws_access_key_id=<object store access key>
    aws_secret_access_key=<object store secret key>
    
  • ネームスペースverrazzano-backupに、Kubernetesシークレットverrazzano-backup-credsを作成します。

    $ kubectl create secret generic -n <backup-namespace> <secret-name> --from-file=<key>=<full_path_to_creds_file>
    

    $ kubectl create secret generic -n verrazzano-backup verrazzano-backup-creds --from-file=cloud=backup-secret.txt
    

    ノート: 機密データの誤用を避けるため、Kubernetesシークレットを作成した後でbackup-secret.txtファイルが削除されていることを確認してください。

  • バックアップ・コンポーネントが後続のバックアップで参照する、BackupStorageLocationを作成します。次のBackupStorageLocationの例を参照してください。詳細は、ここを参照してください。

    apiVersion: velero.io/v1
    kind: BackupStorageLocation
    metadata:
      name: verrazzano-backup-location
      namespace: verrazzano-backup
    spec:
      provider: aws
      objectStorage:
        bucket: example-verrazzano
        prefix: backup-demo
      credential:
        name: verrazzano-backup-creds
        key: cloud
      config:
        region: us-phoenix-1
        s3ForcePathStyle: "true"
        s3Url: https://mytenancy.compat.objectstorage.us-phoenix-1.oraclecloud.com
    

rancher-backupオペレータの前提条件

ここで、ネームスペースverrazzano-backupにKubernetesシークレットrancher-backup-credsを作成します。

$ kubectl create secret generic -n <backup-namespace> <secret-name> --from-literal=accessKey=<accesskey> --from-literal=secretKey=<secretKey>

$ kubectl create secret generic -n verrazzano-backup rancher-backup-creds --from-literal=accessKey="s5VLpXwa0xNZQds4UTVV" --from-literal=secretKey="nFFpvyxpQvb0dIQovsl0"