VMware Tanzu Application Platform 1.1 では用途に応じてクラスタを構成できるよう、インストールプロファイルが大幅に拡張されています。今回は、このアップデートを用いたマルチクラスタ構成(多くのお客様から要望をいただいていたアップデートになります!)についてご紹介します。
環境を最適化するマルチクラスタ構成とは?
Tanzu Application Planform (TAP) は、環境構成時にインストールプロファイルを用いることで、提供する様々なサービスをKubernetes クラスタに一括してインストールすることが可能です(詳細をVMware Blog: Tanzu Application Platform のインストーラを大解剖で解説しています)。Tanzu Application Platform 1.1 では、用途に合わせたプロファイルを標準のテンプレートとして提供することで、クラスタ毎に必要なサービスだけを構成することができるようになっています。
左図で示す従来の構成では、テスト環境、ステージング環境、本番環境それぞれのクラスタ上に、開発部門が使用するポータル、運用部門が管理するサプライチェイン、さらにアプリケーションが動作する実行環境が共存しています。一方、右¨図で示すマルチクラスタ構成では、開発部門が使用するポータル機能をView クラスタ、運用部門が管理するサプライチェインの中核(ビルド/テスト機能)をBuild クラスタ、アプリケーションの実行基盤をRun クラスタとし、分離して構成することで各クラスタに必要な機能だけをインストールしています。
マルチクラスタ構成の場合、各クラスタは連携して動作します。View クラスタ から、Build クラスタで構成されているサプライチェインの実行状況、Run クラスタで動作するアプリケーションの動作状況を確認することが可能です。この構成により、開発部門は複数の環境を単一のUI から把握することができ、運用部門はBuild クラスタを統合することでサプライチェインの管理を集約することができます。
各クラスタの役割と構成を紹介
Tanzu Application Platform の環境は、開発者にフォーカスしたInner Loop と、運用者がフォーカスするOuter Loop に分かれています(Inner Loop とOuter Loop については、VMware Blog: K8s の面倒くさいことは Tanzu Application Platform におまかせ で解説しています)。
今回のアップデートで追加されたインストールプロファイルを適用したマルチクラスタ構成が下図となります。ここまで紹介してきたテスト環境、ステージング環境、本番環境を構成するクラスタに加え、開発環境を提供するIterate クラスタが登場します。
- Build クラスタ – Inner Loop とOuter Loop の境界を守る門番
Build クラスタでは、開発者がコミットしたソースコードをコードレジストリから取得し、Run クラスタにデプロイするためのコンテナイメージとKubernetes マニフェストを生成します。Inner Loop とOuter Loop の境界に位置し、デプロイするアプリケーションの品質を担保するTanzu Application Platform 環境の中核となるクラスタです。 - Run クラスタ – アプリケーションの実行環境
Run クラスタでは、Build クラスタによって作成されたコンテナイメージとKubernetes マニフェストを読み取り、実行します。GitOps のアプローチにより、マニフェストを保管したコードリポジトリのアップデートをモニタすることで、最新の状況をクラスタに適用します。 - View クラスタ – 開発者のポータルサイト
View クラスタでは、開発者に様々なサービスを提供します。View クラスタの提供するGUI から、アプリケーションの状態を確認するApplication Live View、トレーニングを提供するLearning Center、アプリケーションのテンプレートを提供するApplication Accelerator、使用可能なAPI を可視化するAPI ポータルにアクセスできます。 - Iterate クラスタ – 反復的なアプリケーション開発環境
Iterate クラスタは開発者がIDE を介して接続し、新しいソフトウェア機能を確認する場所です。ライブアップデート機能により、コードのアップデートを即座にKubernetes クラスタ上のコンテナに反映し、アップデートを確認することができます。
新しく拡張されたプロファイルを使用することで、Inner Loopと、Outer Loop をクラスタレベルで分離して構成管理することができます。また、Outer Loopの実行環境を、テスト環境、ステージング環境、プロダクション環境といった用途毎に分けて構成した上で、各環境を統合管理することが可能になります。マルチクラスタ構成の詳細については、Tanzu Application Platform Product Documentation を合わせて参照ください。
まとめ
ここまで、Tanzu Application Platform 1.1 のアップデートであるインストールプロファイルを使用したマルチクラスタ対応について紹介しました。新規にTanzu Application Platform を導入する場合だけでなく、既存Kubernetes クラスタを実行環境として構成し既存資産を活用するといった、様々なユースケースに対応できるポテンシャルを秘めたアップデートになっています。VMware ブログでは引き続き Tanzu Application Platformの様々な機能を紹介していくのでご期待ください。