4.2. OADP features and plugins

OpenShift API for Data Protection (OADP) 機能は、アプリケーションをバックアップおよび復元するためのオプションを提供します。

デフォルトのプラグインにより、Velero は特定のクラウドプロバイダーと統合し、OpenShift Container Platform リソースをバックアップおよび復元できます。

4.2.1. OADP の機能

OpenShift API for Data Protection (OADP) は、以下の機能をサポートします。

バックアップ

OADP を使用して OpenShift Platform 上のすべてのアプリケーションをバックアップしたり、タイプ、namespace、またはラベルでリソースをフィルターしたりできます。

OADP は、Kubernetes オブジェクトと内部イメージをアーカイブファイルとしてオブジェクトストレージに保存することにより、それらをバックアップします。OADP は、ネイティブクラウドスナップショット API または Container Storage Interface (CSI) を使用してスナップショットを作成することにより、永続ボリューム (PV) をバックアップします。スナップショットをサポートしないクラウドプロバイダーの場合、OADP は Restic を使用してリソースと PV データをバックアップします。

注記

バックアップと復元を成功させるには、アプリケーションのバックアップから Operator を除外する必要があります。

復元

バックアップからリソースと PV を復元できます。バックアップ内のすべてのオブジェクトを復元することも、復元されたオブジェクトを namespace、PV、またはラベルでフィルタリングすることもできます。

注記

バックアップと復元を成功させるには、アプリケーションのバックアップから Operator を除外する必要があります。

スケジュール
指定した間隔でバックアップをスケジュールできます。
フック
フックを使用して、Pod 上のコンテナーでコマンドを実行できます。たとえば、fsfreeze を使用してファイルシステムをフリーズできます。バックアップまたは復元の前または後に実行するようにフックを設定できます。復元フックは、init コンテナーまたはアプリケーションコンテナーで実行できます。

4.2.2. OADP プラグイン

OpenShift API for Data Protection (OADP) は、バックアップおよびスナップショット操作をサポートするためにストレージプロバイダーと統合されたデフォルトの Velero プラグインを提供します。Velero プラグインに基づいて カスタムプラグイン を作成できます。

OADP は、OpenShift Container Platform リソースバックアップ、OpenShift Virtualization リソースバックアップ、および Container Storage Interface (CSI) スナップショット用のプラグインも提供します。

表4.1 OADP プラグイン

OADP プラグイン機能ストレージの場所

aws

Kubernetes オブジェクトをバックアップし、復元します。

AWS S3

スナップショットを使用してボリュームをバックアップおよび復元します。

AWS EBS

azure

Kubernetes オブジェクトをバックアップし、復元します。

Microsoft Azure Blob ストレージ

スナップショットを使用してボリュームをバックアップおよび復元します。

Microsoft Azure マネージドディスク

gcp

Kubernetes オブジェクトをバックアップし、復元します。

Google Cloud Storage

スナップショットを使用してボリュームをバックアップおよび復元します。

Google Compute Engine ディスク

openshift

OpenShift Container Platform リソースをバックアップおよび復元します。[1]

オブジェクトストア

kubevirt

OpenShift Virtualization リソースをバックアップおよび復元します。[2]

オブジェクトストア

csi

CSI スナップショットを使用して、ボリュームをバックアップおよび復元します。[3]

CSI スナップショットをサポートするクラウドストレージ

  1. 必須。
  2. 仮想マシンディスクは CSI スナップショットまたは Restic でバックアップされます。
  3. csi プラグインは、Velero CSI ベータスナップショット API を使用します。

4.2.3. OADP Velero プラグインについて

Velero のインストール時に、次の 2 種類のプラグインを設定できます。

  • デフォルトのクラウドプロバイダープラグイン
  • カスタムプラグイン

どちらのタイプのプラグインもオプションですが、ほとんどのユーザーは少なくとも 1 つのクラウドプロバイダープラグインを設定します。

4.2.3.1. デフォルトの Velero クラウドプロバイダープラグイン

デプロイメント中に oadp_v1alpha1_dpa.yaml ファイルを設定するときに、次のデフォルトの Velero クラウドプロバイダープラグインのいずれかをインストールできます。

  • aws (Amazon Web Services)
  • gcp (Google Cloud Platform)
  • azure (Microsoft Azure)
  • openshift (OpenShift Velero プラグイン)
  • csi (Container Storage Interface)
  • kubevirt (KubeVirt)

デプロイメント中に oadp_v1alpha1_dpa.yaml ファイルで目的のデフォルトプラグインを指定します。

ファイルの例:

次の .yaml ファイルは、openshiftawsazure、および gcp プラグインをインストールします。

 apiVersion: oadp.openshift.io/v1alpha1
 kind: DataProtectionApplication
 metadata:
   name: dpa-sample
 spec:
   configuration:
     velero:
       defaultPlugins:
       - openshift
       - aws
       - azure
       - gcp

4.2.3.2. カスタム Velero プラグイン

デプロイメント中に oadp_v1alpha1_dpa.yaml ファイルを設定するときに、プラグインの imagename を指定することにより、カスタム Velero プラグインをインストールできます。

デプロイメント中に oadp_v1alpha1_dpa.yaml ファイルで目的のカスタムプラグインを指定します。

ファイルの例:

次の .yaml ファイルは、デフォルトの openshiftazure、および gcp プラグインと、イメージ quay.io/example-repo/custom-velero-plugin を持つ custom-plugin-example という名前のカスタムプラグインをインストールします。

apiVersion: oadp.openshift.io/v1alpha1
kind: DataProtectionApplication
metadata:
 name: dpa-sample
spec:
 configuration:
   velero:
     defaultPlugins:
     - openshift
     - azure
     - gcp
     customPlugins:
     - name: custom-plugin-example
       image: quay.io/example-repo/custom-velero-plugin