マルチクラスタ・アプリケーション・デプロイメント

マルチクラスタ環境でのアプリケーション・デプロイメントの理解

Verrazzanoは、管理クラスタとオプションで1つ以上の管理対象クラスタで構成されるマルチクラスタ環境にインストールできます。

  • 管理クラスタは、管理対象クラスタ内のVerrazzanoアプリケーションのデプロイとモニターを行う中心的なポイントです。
  • 管理対象クラスタは、管理クラスタに登録されます。
  • MultiClusterApplicationConfigurationリソースは、マルチクラスタVerrazzano環境の任意のクラスタへのアプリケーションのターゲット設定に使用されます。

次の図は、マルチクラスタVerrazzanoがどのように機能するかの概要を示しています。詳細は、こちらの図を参照してください。

管理クラスタ

Verrazzano管理クラスタは、次の処理の中心的な管理ポイントです:

  • 管理クラスタに登録された管理対象クラスタへのアプリケーションのデプロイおよびアンデプロイ。
  • 管理対象クラスタに存在するVerrazzanoコンポーネントおよびアプリケーションのログとメトリックの表示。

管理クラスタのverrazzano-mcネームスペースにVerrazzanoManagedClusterリソースを作成することで、1つ以上の管理対象クラスタを管理クラスタに登録できます。

ノート: 管理クラスタには、すべての機能を備えたVerrazzanoがインストールされています。アプリケーションは管理クラスタにも管理対象クラスタにも配置できます。

管理対象クラスタ

Verrazzano管理対象クラスタには、managed-clusterインストール・プロファイルを使用してインストールされた最小フットプリントのVerrazzanoがあります。管理対象クラスタには次の特性があります:

  • 一意の名前で管理クラスタに登録されます。
  • Verrazzanoシステム・コンポーネントとVerrazzanoマルチクラスタ・アプリケーションのログは、管理クラスタで実行中のOpenSearchに送信され、そのクラスタから参照できます。
  • 次のすべてに該当する場合、管理クラスタで作成されたVerrazzano MultiClusterApplicationConfiguration Kubernetesリソースが取得され、管理対象クラスタにデプロイされます:
    • MultiClusterApplicationConfigurationは、VerrazzanoProjectによって管理されるネームスペースにあります。
    • VerrazzanoProjectに、この管理対象クラスタを含むplacement値があります。
    • MultiClusterApplicationConfiguration自体に、この管理対象クラスタを含むplacement値があります。

Verrazzanoマルチクラスタ・アプリケーション

Verrazzanoには、1つ以上のクラスタへの配置が予定されるアプリケーションのために、MultiClusterApplicationConfigurationリソース定義が含まれています。

  • MultiClusterApplicationConfigurationはApplicationConfigurationのラッパーです。これを使用することで、基礎となるリソースのplacementも、ApplicationConfigurationを配置する必要があるクラスタ名のリストとして指定できるようになります。
  • MultiClusterApplicationConfigurationリソースは、関連付けられているコンポーネント・リソースおよびシークレット・リソースとともに、VerrazzanoProjectの一部であるネームスペースの管理クラスタ内に作成され、ローカル管理クラスタまたはリモート管理クラスタのいずれかでplacementの対象になります。
  • マルチクラスタ・アプリケーションは、VerrazzanoProjectによって管理されるネームスペース内にある場合は、そのVerrazzanoProjectの一部とみなされます。

管理対象クラスタの登録

管理対象クラスタは、2ステップのプロセスを使用して管理クラスタに登録できます:

ステップ1:: 管理クラスタのverrazzano-mcネームスペースにVerrazzanoManagedClusterリソースを作成します。

ステップ2:: VerrazzanoManagedClusterリソースで生成されたKubernetesマニフェスト・ファイルを取得し、管理対象クラスタに適用して登録を完了します。

管理対象クラスタが登録されると、次のことが行われます:

  • 登録の両方のステップが完了すると、管理対象クラスタは、この管理対象クラスタでのplacementを指定するVerrazzanoProjectリソースとMultiClusterApplicationConfigurationリソースについて管理クラスタのポーリングを開始します。
    • この管理対象クラスタに配置されたVerrazzanoProjectリソースが取得され、対応するネームスペースおよびセキュリティ権限(RoleBindings)が管理対象クラスタに作成されます。
    • この管理対象クラスタに配置され、この管理対象クラスタに配置されているVerrazzanoProjectにあるMultiClusterApplicationConfigurationsが取得され、管理対象クラスタ上で作成または更新されます。MultiClusterApplicationConfigurationで表される基礎となるApplicationConfigurationはラップ解除され、管理対象クラスタ上で作成または更新されます。MultiClusterApplicationConfigurationとその基礎となるApplicationConfigurationの管理対象クラスタ・ネームスペースは、MultiClusterApplicationConfigurationの管理クラスタ・ネームスペースと一致します。
    • 取得されたMultiClusterApplicationConfigurationsによって参照されるComponentリソースやSecretリソースがあれば、取得されて、管理対象クラスタ上に作成されます。
  • 管理対象クラスタが管理クラスタに接続すると、この管理対象クラスタのVerrazzanoManagedClusterリソースが次のもので更新されます:
    • 管理クラスタが管理対象クラスタからPrometheusメトリックをスクレイピングするために使用するエンドポイントURL。
    • 管理対象クラスタから管理クラスタへの最近成功した接続の日時。
  • 管理対象クラスタで取得およびラップ解除されたMultiClusterApplicationConfigurationsの場合、アプリケーション・ログは管理クラスタのOpenSearchに送信され、管理クラスタ上のVerrazzanoでインストールされたOpenSearchダッシュボードで表示できます。同様に、アプリケーション・メトリックは管理クラスタによってスクレイピングされ、管理クラスタ上のVerrazzanoでインストールされたPrometheusから使用できます。

マルチクラスタVerrazzanoの詳細ビュー

次の図は、マルチクラスタVerrazzanoがどのように機能するかの詳細を示しています。

詳細は、ここで説明するリソースのAPIドキュメントを参照してください。

マルチクラスタ・アプリケーションのデプロイ

マルチクラスタ環境でアプリケーションをデプロイする方法の例は、「マルチクラスタToDo List」を参照してください。