CoreOSとVMware vSphereでDocker環境を構築する

お疲れ様です。照屋です。
CoreOSがvSphere 5.5及びvCloud Airにてサポートされるようになるとアナウンスがありました。
http://blogs.vmware.com/vsphere/2015/03/coreos-now-supported-vmware-vsphere-5-5-vmware-vcloud-air.html
VMware Compatibility Guideにも既に記載がありますね。CoreOS 557とESXi5.5以降の組み合わせになるようです。

概要

vSphere環境があれば、すぐにでもCoreOSを始めることができます。
今回はOVAファイルをダウンロードして、vSphere Web Clientから
既存のvSphere環境に対してCoreOSを展開します。
その上で実際にWordPress + MySQLを動かすところまでを説明します。

ネットワーク要件

インターネットより各種ファイルやコンテナファイルを取得するため、
インターネット接続が必要になります。
それに伴いDNSによる名前解決ができる必要があります。
CoreOSを接続する先の仮想スイッチでDHCPによるIPアドレス割り当てが行えるか確認してください。
DHCPが利用できない場合はCoreOSの「Network Configuration with networkd(英語)」を参照して構成してください。
https://coreos.com/docs/cluster-management/setup/network-config-with-networkd/

CoreOS環境の構築

OVAファイルの取得

まずはOVAファイルのダウンロードから始めましょう。
CoreOS Release Notesに行って、「Browse Images」をクリックします。
https://coreos.com/releases/
ファイル「coreos_production_vmware_ova.ova」を見つけてダウンロードします。
次はvSphere Web ClientでダウンロードしたOVAファイルをクラスタに展開します。
この手順は一般的なOVAファイルの展開手順と同じですので、ご存知の方は次のステップに進んでください。

OVAファイルの展開

CoreOSの仮想マシンを作成するデータセンターもしくはクラスタを選択し、
右クリック > OVAテンプレートのデプロイ
1. ソース
ソースの選択
ローカルファイルの「参照」で先ほどダウンロードしたファイル「coreos_production_vmware_ova.ova」を選択し、「次へ」
詳細の確認
「次へ」
2 ターゲット
2a 名前およびフォルダの選択
必要であれば名前を「coreos_production_vmware_ova」から変更します。
仮想マシンの作成先データセンターを選択し、「次へ」
2b リソースの選択
仮想マシンの作成先クラスタを選択します。
クラスタを作成してない場合には単一のESXiホストを選択し、「次へ」
2c ストレージの選択
仮想マシンを作成する先のストレージ、データストアを選択し、「次へ」
2d ネットワークのセットアップ
仮想マシンを接続する先のネットワークを選択し、「次へ」
「デプロイ後にパワーオン」にチェックを入れて、「終了」
以上でOVAファイルから仮想マシンが展開され始めます。
右のタスクのデプロイの完了を待ちましょう。
タスクのデプロイが完了したら仮想マシンを右クリックし、「コンソールを開く」

CoreOSの利用

初回ログイン

「localhost login:」とコンソールに表示されていることを確認します。
右上の「Ctrl-Alt-Deleteの送信」をクリックして再起動しますが、
再起動直後に表示される「GNU GRUB」画面で矢印キーなどを入力し、
GRUBを一時停止させる必要があります。
一時停止できたら「e」キーを入力します。

GRUBオプションの編集

GRUBオプションが表示されたら、追加のパラメータ「coreos.autologin」を入力します。
つまり「load_coreos mout.usr=PARTUUID=$usr_uuid」が、
「load_coreos mout.usr=PARTUUID=$usr_uuid coreos.autologin」になるように、
スペース及びcoreos.autologinを入力します。
編集が完了したら「Ctrl + x」で再起動します。
再起動が完了すると自動的に「core」ユーザーでログインが完了しています。

パスワード変更

まずパスワードを変更するために下記の通り入力します。$マークより後ろを入力します。
$ sudo passwd core

パスワードを聞かれるので、2回入力します。
パスワードが短いの理由で強度が足りない時には「Warning: weak passowrd」と表示されるため、合計で3回入力します。
上記の設定までが終わると、コンソールのログイン画面やsshで接続できるようになります。

Dockerによるコンテナの展開

さっそくDockerを使って、MySQLデータベースをバックエンドとするWordPressを立ち上げてみます。
まずはmysqlを準備しますが、非常に簡単です。
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql

次にWordPressを先ほどインストールしたMySQLに接続します。
$ docker run --name some-wordpress --link some-mysql:mysql --publish 80:80 -d wordpress

あとはCoreOSのIPアドレスにブラウザでアクセスすれば、WordPressが使えるようになっています!
このようにvSphere環境をご利用であれば、CoreOSの展開も簡単です。
簡単にDockerを利用できる環境を整えることができました。

参考
VMware KB2109161(http://kb.vmware.com/kb/2109161)

コメント

このブログの人気の投稿

PowerShellで潜るOpenStack APIの海 - 素潜り編

NVGRE ゲートウェイを直接ルーティングする場合の接続文字列