8.2. バケットクラスのレプリケーションポリシーの設定
特定のバケットクラスで作成されたすべてのバケットに自動的に適用されるレプリケーションポリシーを設定することができます。これは、以下の 2 つの方法で実行できます。
8.2.1. MCG コマンドラインインターフェイスを使用したバケットクラスのレプリケーションポリシーの設定
バケットクラスの作成時に、Multicloud Object Gateway (MCG) データバケットのレプリケーションポリシーを設定できます。JSON ファイルで replication-policy
パラメーターを定義する必要があります。配置バケットクラスと namespace バケットクラスのバケットクラスレプリケーションポリシーを設定できます。
配置バケットクラスと namespace バケットクラスのバケットクラスレプリケーションポリシーを設定できます。
手順
MCG コマンドラインインターフェイスから、以下のコマンドを実行します。
noobaa -n openshift-storage bucketclass create placement-bucketclass <bucketclass-name> --backingstores <backingstores> --replication-policy=/path/to/json-file.json
<bucketclass-name>
- バケットクラスの名前を指定します。
<backingstores>
- バッキングストアの名前を指定します。コンマで区切って多数のバッキングストアを渡すことができます。
/path/to/json-file.json
レプリケーションポリシーを定義する JSON ファイルへのパスです。
JSON ファイルの例:
[{ "rule_id": "rule-1", "destination_bucket": "first.bucket", "filter": {"prefix": "repl"}}]
"prefix"
オプション。オブジェクトキーの接頭辞が複製されます。
{"prefix": ""}
など、空のままにすることができます。以下に例を示します。
noobaa -n openshift-storage bucketclass create placement-bucketclass bc --backingstores azure-blob-ns --replication-policy=/path/to/json-file.json
この例では、JSON ファイルで定義された特定のレプリケーションポリシーを使用して配置バケットクラスを作成します。
8.2.2. YAML を使用したバケットクラスのレプリケーションポリシーの設定
バケットクラスの作成時に、Multicloud Object Gateway (MCG) データバケットのレプリケーションポリシーを設定することも、YAML を後で編集することもできます。ポリシーは、次の手順に示す形式に準拠した JSON 準拠の文字列として指定する必要があります。
手順
以下の YAML を適用します。
apiVersion: noobaa.io/v1alpha1 kind: BucketClass metadata: labels: app: <desired-app-label> name: <desired-bucketclass-name> namespace: <desired-namespace> spec: placementPolicy: tiers: - backingstores: - <backingstore> placement: Spread replicationPolicy: [{ "rule_id": "<rule id>", "destination_bucket": "first.bucket", "filter": {"prefix": "<object name prefix>"}}]
この YAML は、配置バケットクラスを作成する例です。バケットにアップロードされた各オブジェクトバケットクレーム (OBC) オブジェクトは、接頭辞に基づいてフィルタリングされ、
first.bucket
に複製されます。<desired-app-label>
- アプリのラベルを指定します。
<desired-bucketclass-name>
- バケットクラス名を指定します。
<desired-namespace>
- バケットクラスが作成される namespace を指定します。
<backingstore>
- バッキングストアの名前を指定します。多くのバッキングストアを渡すことができます。
"rule_id"
-
ルールの ID 番号を指定します (例:
`{"rule_id": "rule-1"}
)。 "destination_bucket"
-
宛先バケットの名前を指定します (例:
{"destination_bucket": "first.bucket"}
)。 "prefix"
-
オプション。オブジェクトキーの接頭辞が複製されます。
{"prefix": ""}
など、空のままにすることができます。