OpenStackとDockerの未来像(その3)
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「OpenStackとDockerの未来像(その3) 」を公開しました。
はじめに
前回は、OpenStackで起動した仮想マシンインスタンスに、Dockerでアプリケーションを配信する方法を紹介しました。今回は、この一連の操作をまとめて自動化する方法を紹介します。アプリケーションのDockerイメージは、インターネット上のDocker Hubに保存してありますので、OpenStackの環境には、Dockerが入った仮想マシンイメージさえあれば、仮想マシンインスタンスの作成からアプリケーションの起動までを何度でも繰り返すことが可能になります。Dockerによって、環境構築の自動化が、本当に手軽で簡単になったことが実感できるのではないでしょうか。
Ansibleによる自動化の仕組み
ここでは、前回紹介した図1の環境をAnsibleで自動構築します。Ansibleは、操作対象のサーバーにSSH接続して各種コマンドを実行するという仕組みを持っており、典型的な操作を実施するためのモジュールが最初から用意されているという特徴があります。今回は、特に、OpenStackとDockerを操作するためのモジュールを用いて、環境構築の自動化を行ないます。
fig01
図1 Ansibleで自動構築する環境
OpenStackを操作するモジュールは、OpenStackのクライアント機能が導入されたサーバーにSSH接続して、そこでOpenStackの操作を行ないます。通常は、Ansibleを実行するサーバー自身にOpenStackクライアントを導入して、ローカルでOpenStackの操作を行ないます。一方、Dockerについては、Dockerが稼働する仮想マシンインスタンスのゲストOSにSSH接続して、コンテナ起動操作を行ないます(図2)。
fig02
図2 Ansibleによる環境操作の仕組み
この仕組みからも分かるように、図1の環境構築においては、大きく次の2つに処理が分かれます。
① OpenStackのAPIを操作する処理
② ゲストOS内でDockerを操作する処理
この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/nakai/nakai82.html
ソーシャルもやってます!