9.2. バケットクラスのレプリケーションポリシーの設定


特定のバケットクラスで作成されたすべてのバケットに自動的に適用されるレプリケーションポリシーを設定することができます。これは、以下の 2 つの方法で実行できます。

9.2.1. MCG コマンドラインインターフェイスを使用したバケットクラスのレプリケーションポリシーの設定

マルチクラウドオブジェクトゲートウェイ (MCG) バケットクラスに特定のレプリケーションポリシーが必要なアプリケーションは、bucketclass を作成し、JSON ファイルで replication-policy パラメーターを定義できます。

次の 2 種類のバケットクラスにバケットクラスレプリケーションポリシーを設定できます。

  • Placement
  • 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": ""} のように、空のままにすることもできます。

    例9.2 例

    noobaa -n openshift-storage bucketclass create placement-bucketclass bc --backingstores azure-blob-ns --replication-policy=/path/to/json-file.json

    この例では、JSON ファイルで定義された特定のレプリケーションポリシーを使用して配置バケットクラスを作成します。

9.2.2. YAML を使用したバケットクラスのレプリケーションポリシーの設定

マルチクラウドオブジェクトゲートウェイ (MCG) バケットクラスに特定のレプリケーションポリシーが必要なアプリケーションは、spec.replicationPolicy フィールドを使用してバケットクラスを作成できます。

手順

  1. 以下の 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": ""} のように、空のままにすることもできます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.