メッシュの外側に Istio コントロールプレーンを展開する

Istio 向けの新しいデプロイメントモデルです。

2020 年 8 月 27 日 | Lin Sun - IBM、Iris Ding - IBM 著

概要

さまざまなサービスメッシュのユーザーやベンダーと業務に携わってきた経験から、一般的なサービスメッシュには重要なペルソナが 3 つあると考えるようになりました。

バージョン 1.7 より前は、Istio では制御プレーンをメッシュ内の プライマリークラスタ のいずれかで実行する必要があり、その結果メッシュオペレーターとメッシュ管理者の間に分離が生じていました。Istio 1.7 では新しい 外部制御プレーン デプロイメントモデルが導入され、メッシュオペレーターが個別の外部クラスタにメッシュ制御プレーンをインストールして管理できるようになりました。このデプロイメントモデルでは、メッシュオペレーターとメッシュ管理者を明確に分離できます。これにより、Istio メッシュオペレーターはメッシュ管理者の Istio 制御プレーンを実行できるようになり、メッシュ管理者は、制御プレーンのインストールや管理を心配することなく、制御プレーンの構成をコントロールできます。このモデルはメッシュユーザーには透過的です。

外部制御プレーンデプロイメントモデル

デフォルトインストールプロファイル を使用して Istio をインストールすると、下図のように、単一クラスタに Istiod 制御プレーンがインストールされます。

Istio mesh in a single cluster
単一クラスタ内の Istio メッシュ

Istio 1.7 の新しいデプロイメント モデルを使用すると、次の図に示すように、Istiod をメッシュ サービスとは別の外部クラスターで実行できます。外部コントロール プレーン クラスターはメッシュ オペレーターが所有し、メッシュ管理者はメッシュにデプロイされたサービスを実行するクラスターを所有します。メッシュ管理者は、外部コントロール プレーン クラスターにアクセスできません。メッシュ オペレーターは、このステップ バイ ステップ ガイド に従って、詳細をさらに探求できます。(注: Istio メンテナーによるいくつかの内部ディスカッションでは、このモデルは以前「中央 Istiod」と呼ばれていました。)

Istio mesh in a single cluster with Istiod outside
外部コントロール プレーン クラスター内の Istiod を備えた単一クラスター Istio メッシュ

メッシュ管理者は、外部クラスター内で実行される同じ Istiod によって管理される複数のクラスターにサービス メッシュを拡張できます。この場合、メッシュ クラスターのいずれもプライマリ クラスターではありません。これらはすべてリモート クラスターです。ただし、そのうちの 1 つはサービスを実行することに加えて、Istio 構成クラスターとしても機能します。外部コントロール プレーンは、config cluster から Istio 構成を読み取り、Istiod は次の図に示すように、config クラスターと他のリモート クラスターの両方で実行されるデータ プレーンに構成をプッシュします。

Multicluster Istio mesh with Istiod outside
外部コントロール プレーン クラスター内の Istiod を備えたマルチクラスター Istio メッシュ

メッシュ オペレーターはこのデプロイメント モデルをさらに拡張して、複数の Istiod コントロール プレーンを実行する外部クラスターから複数の Istio コントロール プレーンを管理できます

Istio meshes in single clusters with Istiod outside
外部コントロール プレーン クラスター内の複数の Istiod コントロール プレーンを備えた複数の単一クラスター

この場合、各 Istiod はそれぞれのリモート クラスターを管理します。メッシュ オペレーターは、外部コントロール プレーン クラスターに独自の Istio メッシュをインストールし、リモート クラスターから各 Istiod コントロール プレーンに対応するトラフィックをルーティングする istio-ingress ゲートウェイを構成することもできます。これについては、これらのステップをご覧ください。

結論

外部コントロール プレーン デプロイメント モデルを使用すると、Istio で運用上の専門知識を持つメッシュ オペレーターによって Istio コントロール プレーンを実行および管理でき、サービス メッシュ制御とデータ プレーンを明確に分離できます。メッシュ オペレーターは、独自のクラスターや他の環境でコントロール プレーンを実行し、メッシュ管理者にサービスとしてコントロール プレーンを提供できます。メッシュ オペレーターは、単一クラスター内で複数の Istiod コントロール プレーンを実行し、独自の Istio メッシュをデプロイし、istio-ingress ゲートウェイを使用してこれらの Istiod コントロール プレーンへのアクセスを制御できます。ここで提供される例を通じて、メッシュ オペレーターはさまざまな実装の選択肢を検討し、自分にとって最適なものを選択できます。

この新しいモデルでは、メッシュ管理者が制御プレーン自体を操作せずにメッシュ設定に集中できるようになることで、メッシュ管理の複雑さが軽減されます。メッシュ管理者は引き続きメッシュ全体で設定と Istio リソースを構成できますが、外部の制御プレーン クラスタにアクセスする必要はありません。メッシュ ユーザーは変更を加えずにサービス メッシュを操作し続けることができます。

この投稿を共有