13.2. 管理対象のクロスサイトレプリケーション


Data Grid Operator は、異なるデータセンターで実行している Data Grid クラスターを検出し、グローバルクラスターを形成できます。

管理対象のクロスサイト接続を設定する場合には、Data Grid Operator は各 Data Grid クラスターにルーター Pod を作成します。Data Grid Pod は <cluster_name>-site サービスを使用してこれらのルーター Pod に接続し、バックアップ要求を送信します。

ルーター Pod はすべての Pod IP アドレスのレコードを保持し、RELAY メッセージヘッダーを解析し、バックアップ要求を正しい Data Grid クラスターに転送します。ルーター Pod がクラッシュすると、OpenShift が復元するまで、Data Grid Pod はいずれも、他に利用可能なルーター Pod を使用し出します。

重要

クロスサイト接続を管理するために、Data Grid Operator は Kubernetes API を使用します。各 OpenShift クラスターには、各バックアップクラスターのネットワークアクセスが必要です。

注記

Data Grid クラスターは、Data Grid Operator が設定するすバックアップの場所が検出されるまで実行は開始しません。

13.2.1. 管理対象クロスサイト接続用のサービスアカウントトークンの作成

Data Grid Operator が Data Grid クラスターを自動的に検出し、クロスサイト接続を管理できるように OpenShift クラスターでサービスアカウントトークンを生成します。

前提条件

  • すべての OpenShift クラスターが Kubernetes API にアクセスできることを確認します。
    Data Grid Operator はこの API を使用してクロスサイト接続を管理します。

    注記

    Data Grid Operator はリモート Data Grid クラスターを変更しません。サービスアカウントトークンは、Kubernetes API 経由で読み取り専用のアクセスを提供します。

手順

  1. OpenShift クラスターにログインします。
  2. サービスアカウントを作成します。

    たとえば、LON でサービスアカウントを作成します。

    oc create sa lon
    serviceaccount/lon created
    Copy to Clipboard Toggle word wrap
  3. 以下のコマンドを使用して、ビューロールをサービスアカウントに追加します。

    oc policy add-role-to-user view system:serviceaccount:<namespace>:lon
    Copy to Clipboard Toggle word wrap
  4. NodePort サービスを使用してネットワーク上で Data Grid クラスターを公開する場合、cluster-reader ロールをサービスアカウントに追加する必要もあります。

    oc adm policy add-cluster-role-to-user cluster-reader -z <service-account-name> -n <namespace>
    Copy to Clipboard Toggle word wrap
  5. 他の OpenShift クラスターで直前の手順を繰り返します。
  6. 各 OpenShift クラスターでサービスアカウントトークンを交換します。

13.2.2. サービスアカウントトークンの交換

OpenShift クラスターでサービスアカウントトークンを作成したら、それらを各バックアップの場所のシークレットに追加します。たとえば、LONNYC のサービスアカウントトークンを追加します。NYCLON のサービスアカウントトークンを追加します。

前提条件

  • 各サービスアカウントからトークンを取得します。

    以下のコマンドを使用するか、OpenShift Web コンソールからトークンを取得します。

    oc sa get-token lon
    
    eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9...
    Copy to Clipboard Toggle word wrap

手順

  1. OpenShift クラスターにログインします。
  2. 以下のコマンドを使用して、バックアップの場所のサービスアカウントトークンを追加します。

    oc create secret generic <token-name> --from-literal=token=<token>
    Copy to Clipboard Toggle word wrap

    たとえば、NYC で OpenShift クラスターにログインし、以下のように lon-token シークレットを作成します。

    oc create secret generic lon-token --from-literal=token=eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9...
    Copy to Clipboard Toggle word wrap
  3. 他の OpenShift クラスターで直前の手順を繰り返します。

13.2.3. 管理対象のクロスサイト接続の設定

Data Grid クラスターでクロスサイトビューを確立するように Data Grid Operator を設定します。

前提条件

  • Determine a suitable expose type for cross-site replication.
    OpenShift Route を使用する場合は、TLS 証明書と安全なクロスサイト接続を備えたキーストアを追加する必要があります。
  • 各 Data Grid クラスターに Red Hat OpenShift サービスアカウントトークンを作成して交換します。

手順

  1. 各 Data Grid クラスターに Infinispan CR を作成します。
  2. ローカルサイトの名前を spec.service.sites.local.name で指定します。
  3. クロスサイトレプリケーションの公開タイプを設定します。

    1. spec.service.sites.local.expose.type フィールドの値を次のいずれかに設定します。

      • NodePort
      • LoadBalancer
      • ルート
    2. オプションで、次のフィールドを使用してポートまたはカスタムホスト名を指定します。

      • NodePort サービスを使用する場合の spec.service.sites.local.expose.nodePort
      • LoadBalancer サービスを使用する場合の spec.service.sites.local.expose.port
      • OpenShift Route を使用する場合は、spec.service.sites.local.expose.routeHostName を使用します。
  4. RELAY メッセージを service.sites.local.maxRelayNodes フィールドで送信できる Pod の数を指定します。

    ヒント

    パフォーマンス向上のため RELAY メッセージを送信するようにクラスター内のすべての Pod を設定します。すべての Pod がバックアップ要求を直接送信する場合には、バックアップ要求を転送する必要はありません。

  5. spec.service.sites.locations でバックアップの場所として動作する各 Data Grid クラスターの名前、URL、およびシークレットを指定します。
  6. リモートサイトの Data Grid クラスター名または namespace がローカルサイトに一致しない場合は、それらの値を clusterName および namespace フィールドで指定します。

    以下は、LON および NYCInfinispan CR 定義の例になります。

    • LON

      apiVersion: infinispan.org/v1
      kind: Infinispan
      metadata:
        name: infinispan
      spec:
        replicas: 3
        service:
          type: DataGrid
          sites:
            local:
              name: LON
              expose:
                type: LoadBalancer
                port: 65535
              maxRelayNodes: 1
            locations:
              - name: NYC
                clusterName: <nyc_cluster_name>
                namespace: <nyc_cluster_namespace>
                url: openshift://api.rhdg-nyc.openshift-aws.myhost.com:6443
                secretName: nyc-token
        logging:
          categories:
            org.jgroups.protocols.TCP: error
            org.jgroups.protocols.relay.RELAY2: error
      Copy to Clipboard Toggle word wrap
    • NYC

      apiVersion: infinispan.org/v1
      kind: Infinispan
      metadata:
        name: nyc-cluster
      spec:
        replicas: 2
        service:
          type: DataGrid
          sites:
            local:
              name: NYC
              expose:
                type: LoadBalancer
                port: 65535
              maxRelayNodes: 1
            locations:
              - name: LON
                clusterName: infinispan
                namespace: rhdg-namespace
                url: openshift://api.rhdg-lon.openshift-aws.myhost.com:6443
                secretName: lon-token
        logging:
          categories:
            org.jgroups.protocols.TCP: error
            org.jgroups.protocols.relay.RELAY2: error
      Copy to Clipboard Toggle word wrap
      重要

      JGroups TCP および RELAY2 プロトコルのログレベルを下げるために、Infinispan CR のロギングカテゴリーを調整してください。これにより、多数のログファイルがコンテナーストレージを使用することを防ぎます。

      spec:
        logging:
          categories:
            org.jgroups.protocols.TCP: error
            org.jgroups.protocols.relay.RELAY2: error
      Copy to Clipboard Toggle word wrap
  7. 他の Data Grid サービスリソースで Infinispan CR を設定してから、変更を適用します。
  8. Data Grid クラスターがクロスサイトビューを形成することを確認します。

    1. Infinispan CR を取得します。

      oc get infinispan -o yaml
      Copy to Clipboard Toggle word wrap
    2. type: CrossSiteViewFormed 条件を確認します。

次のステップ

クラスターがクロスサイトビューを形成している場合は、バックアップの場所をキャッシュに追加し始めることができます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat