前提条件
Verrazzanoでは、コンポーネントおよびプラットフォーム・レベルでのバックアップおよびリカバリのためにVeleroとrancher-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互換のオブジェクト・ストアが必要です。つまり、オブジェクト・ストレージ・バケットが必要です。これには、Oracle Cloudテナンシの任意のコンパートメント内のOracle Cloud Object Storageバケットを使用できます。
-
オブジェクト・ストアの接頭辞名。これは、バックアップ・コンポーネントによって作成されるバケット内の子フォルダになります。
-
オブジェクト・ストアのリージョン情報。
-
署名キー。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"