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を起動する物理サーバーを分けることができます。プロジェクト単位で事前にノードグループを指定しておき、さらに、デプロイ設定のノードセレクターでグループ内の特定ノードを指定するなども可能です。

この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/nakai/nakai86.html

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

カオスマップ
企業やサービスや製品などについて、カテゴリーや関係性でまとめて図にしたもの。具体 ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]