プライマリ-リモートのインストール
このガイドに従って、cluster1
(プライマリクラスタ)にIstioコントロールプレーンをインストールし、
cluster2
(リモートクラスタ)がcluster1
のコントロールプレーンを使用するように構成します。両方のクラスタはnetwork1
ネットワーク上に存在し、両方のクラスタ内のポッド間に直接接続があることを意味します。続行する前に、開始する前に6の手順を完了していることを確認してください。
この構成では、クラスタcluster1
は両方のクラスタのAPIサーバーのエンドポイントを監視します。これにより、コントロールプレーンは両方のクラスタのワークロードにサービスディスカバリを提供できます。
サービスワークロードは、クラスタ境界を越えて直接(ポッド間)通信します。
cluster2
のサービスは、東西8トラフィック専用のゲートウェイを介して、cluster1
のコントロールプレーンに到達します。
cluster1
をプライマリとして構成する
cluster1
のIstio構成を作成します
構成をcluster1
に適用します
values.global.externalIstiod
がtrue
に設定されていることに注意してください。これにより、cluster1
にインストールされたコントロールプレーンは、他のリモートクラスタの外部コントロールプレーンとしても機能できます。この機能が有効になっている場合、istiod
はリーダーシップロックを取得しようとし、その結果、それにアタッチされる(この場合はcluster2
)、適切にアノテーションが付けられたリモートクラスタを管理します。
cluster1
にeast-westゲートウェイをインストールする
東西8トラフィック専用のゲートウェイをcluster1
にインストールします。デフォルトでは、このゲートウェイはインターネット上で公開されます。本番システムでは、外部からの攻撃を防ぐために追加のアクセス制限(ファイアウォールルールなど)が必要になる場合があります。利用可能なオプションについては、クラウドベンダーに確認してください。
東西ゲートウェイに外部IPアドレスが割り当てられるのを待ちます
cluster1
でコントロールプレーンを公開する
cluster2
にインストールする前に、まずcluster1
のコントロールプレーンを公開して、cluster2
のサービスがサービスディスカバリにアクセスできるようにする必要があります
cluster2
のコントロールプレーンクラスタを設定する
istio-system
名前空間にアノテーションを付けることにより、cluster2
を管理する外部コントロールプレーンクラスタを特定する必要があります
topology.istio.io/controlPlaneClusters
名前空間のアノテーションをcluster1
に設定すると、cluster1
の同じ名前空間(この場合はistio-system)で実行されているistiod
は、それがリモートクラスタとしてアタッチされたときにcluster2
を管理するように指示されます。
cluster2
をリモートとして構成する
cluster1
の東西ゲートウェイのアドレスを保存します。
次に、cluster2
のリモート構成を作成します。
構成をcluster2
に適用します
cluster2
をcluster1
のリモートクラスタとしてアタッチする
リモートクラスタをコントロールプレーンにアタッチするために、cluster1
のコントロールプレーンにcluster2
のAPIサーバーへのアクセス権を付与します。これにより、次のことが行われます
コントロールプレーンが
cluster2
で実行されているワークロードからの接続要求を認証できるようにします。APIサーバーへのアクセスがないと、コントロールプレーンは要求を拒否します。cluster2
で実行されているサービスエンドポイントのディスカバリを有効にします。
topology.istio.io/controlPlaneClusters
名前空間のアノテーションに含まれているため、cluster1
のコントロールプレーンも
cluster2
のwebhookの証明書をパッチします。cluster2
の名前空間にconfigmapを書き込む名前空間コントローラーを起動します。
cluster2
へのAPIサーバーアクセスを提供するために、リモートシークレットを生成し、cluster1
に適用します
おめでとうございます!プライマリクラスタとリモートクラスタにまたがるIstioメッシュのインストールに成功しました!
次のステップ
これでインストールを確認12できます。
クリーンアップ
cluster1
のIstioをアンインストールしますcluster2
のIstioをアンインストールします