5.4. プライマリーリモートマルチネットワークメッシュのインストール


2 つの OpenShift Container Platform クラスターのプライマリーリモートマルチネットワークトポロジーに Istio をインストールします。

注記

この手順では、CLUSTER1 は East クラスター、CLUSTER2 は West クラスターです。East クラスターはプライマリークラスターで、West クラスターはリモートクラスターです。

これらの手順は、2 つ以上のクラスターにまたがるメッシュに適応できます。

前提条件

  • メッシュに含まれるすべてのクラスターに OpenShift Service Mesh 3 Operator をインストールしている。
  • 「マルチクラスターメッシュの証明書の作成」を完了している。
  • 「ルチクラスタートポロジーへの証明書の適用」を完了している。
  • Istio Container Network Interface (CNI) リソースを作成している。
  • これらの手順を実行するために使用するノートパソコンに istioctl がインストールされている。

手順

  1. 以下のコマンドを実行して、インストールする Istio バージョンを定義する ISTIO_VERSION 環境変数を作成します。

    $ export ISTIO_VERSION=1.24.1
  2. Istio を East クラスターにインストールします。

    1. 次のコマンドを実行して、East クラスターのデフォルトネットワークを設定します。

      $ oc --context="${CTX_CLUSTER1}" label namespace istio-system topology.istio.io/network=network1
    2. 次のコマンドを実行して、East クラスターに Istio リソースを作成します。

      $ cat <<EOF | oc --context "${CTX_CLUSTER1}" apply -f -
      apiVersion: sailoperator.io/v1alpha1
      kind: Istio
      metadata:
        name: default
      spec:
        version: v${ISTIO_VERSION}
        namespace: istio-system
        values:
          global:
            meshID: mesh1
            multiCluster:
              clusterName: cluster1
            network: network1
            externalIstiod: true 1
      EOF
      1
      これにより、East クラスターにインストールされたコントロールプレーンが、他のリモートクラスターの外部コントロールプレーンとして機能できるようになります。
    3. 次のコマンドを実行して、コントロールプレーンが "Ready" ステータス状態を返すまで待機します。

      $ oc --context "${CTX_CLUSTER1}" wait --for condition=Ready istio/default --timeout=3m
    4. 次のコマンドを実行して、East クラスターに East-West ゲートウェイを作成します。

      $ oc --context "${CTX_CLUSTER1}" apply -f https://raw.githubusercontent.com/istio-ecosystem/sail-operator/main/docs/multicluster/east-west-gateway-net1.yaml
    5. 次のコマンドを実行して、West クラスターのサービスがコントロールプレーンにアクセスできるように、ゲートウェイを介してコントロールプレーンを公開します。

      $ oc --context "${CTX_CLUSTER1}" apply -n istio-system -f https://raw.githubusercontent.com/istio-ecosystem/sail-operator/main/docs/multicluster/expose-istiod.yaml
    6. 次のコマンドを実行して、ゲートウェイを介してアプリケーションサービスを公開します。

      $ oc --context "${CTX_CLUSTER1}" apply -n istio-system -f https://raw.githubusercontent.com/istio-ecosystem/sail-operator/main/docs/multicluster/expose-services.yaml
  3. Istio を West クラスターにインストールします。

    1. 次のコマンドを実行して、East クラスターで実行されている East-West ゲートウェイの IP アドレスを保存します。

      $ export DISCOVERY_ADDRESS=$(oc --context="${CTX_CLUSTER1}" \
          -n istio-system get svc istio-eastwestgateway \
          -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
    2. 次のコマンドを実行して、West クラスターに Istio リソースを作成します。

      $ cat <<EOF | oc --context "${CTX_CLUSTER2}" apply -f -
      apiVersion: sailoperator.io/v1alpha1
      kind: Istio
      metadata:
        name: default
      spec:
        version: v${ISTIO_VERSION}
        namespace: istio-system
        profile: remote
        values:
          istiodRemote:
            injectionPath: /inject/cluster/cluster2/net/network2
          global:
            remotePilotAddress: ${DISCOVERY_ADDRESS}
      EOF
    3. 次のコマンドを実行して、West クラスター内の istio-system namespace にアノテーションを付けて、East クラスターのコントロールプレーンによって管理されるようにします。

      $ oc --context="${CTX_CLUSTER2}" annotate namespace istio-system topology.istio.io/controlPlaneClusters=cluster1
    4. 次のコマンドを実行して、West クラスターのデフォルトネットワークを設定します。

      $ oc --context="${CTX_CLUSTER2}" label namespace istio-system topology.istio.io/network=network2
    5. 次のコマンドを実行して、West クラスターの API サーバーへのアクセスを提供する East クラスターにリモートシークレットをインストールします。

      $ istioctl create-remote-secret \
        --context="${CTX_CLUSTER2}" \
        --name=cluster2 | \
        oc --context="${CTX_CLUSTER1}" apply -f -
    6. 以下のコマンドを実行して、Istio リソースが "Ready" ステータス状態を返すまで待機します。

      $ oc --context "${CTX_CLUSTER2}" wait --for condition=Ready istio/default --timeout=3m
    7. 次のコマンドを実行して、West クラスターに East-West ゲートウェイを作成します。

      $ oc --context "${CTX_CLUSTER2}" apply -f https://raw.githubusercontent.com/istio-ecosystem/sail-operator/main/docs/multicluster/east-west-gateway-net2.yaml
      注記

      West クラスターはリモートプロファイルとともにインストールされるため、East クラスターでアプリケーションサービスを公開すると、それらのサービスが両方のクラスターの East-West ゲートウェイで公開されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.