サービス管理レイヤー
一般的に、一つのアプリケーションやサービスは、多数のコンテナで構成されている。特にKubernetesのようなオーケストレーションエンジンの場合、コンテナ以外にもサービスポート、コントローラ、ボリュームなどの追加オブジェクトを必要とする。したがって、コンテナベースのアプリケーションおよびサービスを管理するためには、コンテナと関連オブジェクトをパッケージ化して管理する抽象化の単位が必要である。サービス管理レイヤーは、これを担うレイヤーである。
カクテルクラウドのサービス管理は、以下のような階層構造を有する。
Service : 最上位階層としてサービスに必要なクラスタリソース、イメージレジストリ、イメージビルドを割り当て管理するグループ。開発、運用者の役割に応じて権限を付与し、独立させて管理を行うことができる。カクテルクラウドでは、必要に応じて多数のサービスを作成し、チームやサービスごとに割り当てて管理することができる。
Application Map : アプリケーションの構成と管理を行う単位で、一つのワークロード(Workload)に対応している。例えば、一つのサービスを開発系、検証系、運用系に該当するアプリケーションマップで構成することができるほか、データ管理、分析システムなどの役割に基づいて、アプリケーションマップを構成することもできる。アプリケーションマップは、論理的にワークロードのための多数のコンテナの構成を管理する単位といえる。前述したサービスは、複数のアプリケーションマップで構成されている。
Cocktail Server : コンテナと関連オーケストレーションオブジェクトをパッケージ化する単位である。アプリケーションマップは、複数のカクテルサーバーで構成されている。例えば、Webサーバー、DBサーバーなどのコンポーネントに基づいてサーバーを構成することもでき、小規模のマイクロサービスもカクテルサーバーとして構成することができる。 カクテルサーバーの詳細は、下記のとおりである。
下の図は、サービス管理レイヤーの構成を図式化したものである。
Cocktail Server
サービス管理レイヤーにおいて、最も重要な役割を担っているのがカクテルサーバーだ。前述したとおり、カクテルサーバーは、コンテナと関連オーケストレーションオブジェクトをパッケージ化する単位である。カクテルサーバーは、パッケージ化されたオブジェクトの作成、更新などライフサイクルを管理するとともに、状態とリソースをパッケージ単位で監視し、管理する。
これを図式化したのが下の図である。
カクテルサーバーが提供する管理機能には、次のようなものがある。
サーバーの作成、修正(更新)、停止、再起動、削除、オートスケール
ローリングアップデート
サービスポート管理
ボリューム管理
監視
インスペクティング : オーケストレーションオブジェクトの状態およびデプロイの情報を照会
ウェブターミナル、ログを照会:コンテナのシェル接続。コンテナのログ照会
Previous Topic : クラスタ管理のレイヤー
Next Topic : パイプラインレイヤー