3.3. クラスター間ルーターネットワークの作成


異なる OpenShift Container Platform クラスターで実行されているルーターからルーターネットワークを作成できます。これにより、別のクラスターで実行しているアプリケーションを接続できます。

手順

以下の手順では、2 つの異なる OpenShift Container Platform クラスター (cluster1 および cluster2) にルーターデプロイメントを作成し、それらを接続してクラスター間のルーターネットワークを形成します。ルーターデプロイメント間の接続は、SSL/TLS 相互認証を使用して保護されます。

  1. 最初の OpenShift Container Platform クラスター (cluster1) で、内部ルーターデプロイメントを記述する Interconnect カスタムリソース YAML ファイルを作成します。

    この例では、デフォルト設定で単一の内部ルーターを作成します。

    cluster1-router-mesh.yaml ファイルのサンプル

    apiVersion: interconnectedcloud.github.io/v1alpha1
    kind: Interconnect
    metadata:
      name: cluster1-router-mesh
    spec: {}

  2. YAML ファイルに記述されるルーターデプロイメントを作成します。

    $ oc apply -f cluster1-router-mesh.yaml

    AMQ Interconnect Operator は、デフォルト設定で内部ルーターを作成します。AMQ Certificate Manager Operator を使用して認証局 (CA) を作成し、CA が署名した証明書を生成します。

  3. 2 つ目の OpenShift Container Platform クラスター (cluster2) でルーターデプロイメントの追加の証明書を生成します。

    cluster2 のルーターデプロイメントには、cluster1 の CA が発行する証明書が必要です。

    1. 証明書を要求する Certificate カスタムリソース YAML ファイルを作成します。

      certificate-request.yaml ファイルのサンプル

      apiVersion: certmanager.k8s.io/v1alpha1
      kind: Certificate
      metadata:
        name: cluster2-inter-router-tls
      spec:
        commonName: cluster1-router-mesh-myproject.cluster2.openshift.com
        issuerRef:
          name: cluster1-router-mesh-inter-router-ca  1
        secretName: cluster2-inter-router-tls
      ---

      1
      cluster1 のルーター間 CA を作成した発行者の名前。デフォルトでは発行者の名前は <application-name>-inter-router-ca です。
    2. YAML ファイルで記述される証明書を作成します。

      $ oc apply -f certificate-request.yaml
    3. 生成した証明書を抽出します。

      $ mkdir /tmp/cluster2-inter-router-tls
      $ oc extract secret/cluster2-inter-router-tls --to=/tmp/cluster2-inter-router-tls
  4. 2 つ目の OpenShift Container Platform クラスター (cluster2) にログインし、2 つ目のルーターデプロイメントを作成するプロジェクトに切り替えます。
  5. cluster2 で、生成した証明書が含まれるシークレットを作成します。

    $ oc create secret generic cluster2-inter-router-tls --from-file=/tmp/cluster2-inter-router-tls
  6. cluster2 で、ルーターデプロイメントを記述する Interconnect カスタムリソース YAML ファイルを作成します。

    cluster2-router-mesh.yaml ファイルのサンプル

    apiVersion: interconnectedcloud.github.io/v1alpha1
    kind: Interconnect
    metadata:
      name: cluster2-router-mesh
    spec:
      sslProfiles:
      - name: inter-cluster-tls  1
        credentials: cluster2-inter-router-tls
        caCert: cluster2-inter-router-tls
      interRouterConnectors:
      - host: cluster1-router-mesh-port-55671-myproject.cluster1.openshift.com  2
        port: 443
        verifyHostname: false
        sslProfile: inter-cluster-tls
    1
    この SSL プロファイルは、cluster1 のルーターデプロイメントへの接続に必要な証明書を定義します。
    2
    cluster1 のルーター間リスナーの Route の URL。

  7. YAML ファイルに記述されるルーターデプロイメントを作成します。

    $ oc apply -f cluster2-router-mesh.yaml
  8. ルーターが接続されていることを確認します。

    この例では、cluster2 のルーターから cluster1 のルーターへの接続を表示しています。

    $ oc exec cluster2-fb6bc5797-crvb6 -it -- qdstat -c
    Connections
      id    host                                                                  container                              role          dir  security                                authentication  tenant
      ====================================================================================================================================================================================================
      1     cluster1-router-mesh-port-55671-myproject.cluster1.openshift.com:443  cluster1-router-mesh-54cffd9967-9h4vq  inter-router  out  TLSv1/SSLv3(DHE-RSA-AES256-GCM-SHA384)  x.509
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.