logo

OpenShiftの機能紹介 ―― コンテナの自動デプロイメント

CTC教育サービスはコラム「OpenShiftの機能紹介 ―― コンテナの自動デプロイメント 」を公開しました。

###

はじめに
 第84回と第85回では、OpenShiftにおけるDockerイメージのバージョン管理と自動ビルドの機能を説明しました。今回は、作成したDockerイメージからコンテナを起動して、アプリケーションを実行するための「デプロイ設定」を解説します。これで、OpenShiftの代表的な機能である「イメージストリーム(ImageStream)」「ビルド設定(BuildConfig)」「デプロイ設定(DeployConfig)」が理解できたことになります。

 さらにOpenShiftでは、これらの設定を一つにまとめた「テンプレート(Template)」を作成することができます。テンプレート管理者が、関連する設定を事前にテンプレートにまとめておくことにより、アプリケーション開発者やテスト/リリース担当者は、複雑な設定を意識することなく、従来型のPaaS環境として簡単に利用することが可能になります。

Podによるコンテナのデプロイ
 デプロイ設定を解説する前に、OpenShiftに特有の仕組みである「Pod」について補足しておきます。これは、仮想NICを共有する形で複数のコンテナをまとめてデプロイする機能です。図1のように、同じPodに属するコンテナは、同一のIPアドレスを持っており、お互いに「localhost」経由での通信が可能になります。たとえば、PostgreSQLのデータベースを実行するコンテナと、GUI管理ツールのpgAdminを実行するコンテナを同一のPodにまとめて起動します。通常、pgAdminでは、管理対象のPostgreSQLが稼働するサーバーを指定する必要がありますが、この場合は「localhost」指定で接続することができます。

 また、OpenShiftでは外部のNFSサーバーやGlusterFSのファイルシステム領域を「永続ストレージ」として、コンテナに接続することができます。同じPodのコンテナは、同一の永続ストレージ領域を参照することができるので、コンテナ間でファイルを共有することも可能になります。

fig01

図1 複数のコンテナをPodにまとめて起動

デプロイ設定の内容
 それでは、Dockerイメージからコンテナを起動するために必要となる「デプロイ設定」を解説します。デプロイ設定では、主に次の項目を指定します。

•Podテンプレート:Podに含めるコンテナなど、Podの内部構成を指定します。
•レプリカ数:起動するPodの数を指定します。
•ノードセレクター:Podを起動するノードを選択する条件を指定します。
•トリガー:Dockerイメージが更新された場合など、Podを自動的に再デプロイする条件を指定します。
 Podテンプレートでは、Podに含めるコンテナごとに、使用するDockerイメージ(イメージストリームとタグ名)や接続を受け付けるポート番号などを指定します。レプリカ数は、同一構成のPodを複数起動して、アプリケーションの負荷分散を行う際に指定します。また、ノードセレクターを使用すると、開発環境、テスト環境、本番環境などで、Podを起動する物理サーバーを分けることができます。プロジェクト単位で事前にノードグループを指定しておき、さらに、デプロイ設定のノードセレクターでグループ内の特定ノードを指定するなども可能です。

この続きは以下をご覧ください
リンク

本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

今日の主要記事