2014-03-16
さくらのクラウドでCoreOSを動かしてみた
最近になってようやくDockerに目覚めまして、本番環境にDockerを使った場合の監視方法などを模索している今日このごろ。
ちょうどオープンソースカンファレンスでさくらのクラウドの2万円分無料クーポンをもらった*1ので、さくらのクラウドにGentooベース(のChromeOSベース)で有名なCoreOSを載せてDocker環境を構築してみた次第。さくらさんありがとう!ありがとう!ありがとう!
どうすればCoreOSを構築できるか
さくらのクラウドではKVM/QEMUを使用しており、CoreOSはQEMU用イメージを用意しているものの、ホスト側を操作できるわけではないのでこの方法は取れない。
そこでInstalling CoreOS to Diskを参考に構築することにした。
CoreOSを起動するサーバをまずに用意する
さくらのクラウドはDHCPでIPアドレスが取得できず、またCoreOSのcoreユーザにはパスワードが設定されていないため、Installing CoreOS to Diskの手順でそのまま構築するとSSH、コンソールのどちらからもアクセスできなくなってしまう。
そこでまずIPアドレスを決定するためにブランクディスクでサーバを作成する。
作成後、NICタブを押して以下の4つを控えておく。
- 推奨ネームサーバ
- IPv4アドレス
- ゲートウェイ
- ネットワーク
また、ディスクタブでHDDを取り外す。
Ubuntuサーバを用いてDiskにCoreOSをインストール
つづいてUbuntuでサーバを作成。先ほど取り外したディスクを接続して起動。手順はInstalling CoreOS to Diskのとおりだが、さくらのクラウドに合わせて適宜読み替え。
wget https://raw.github.com/coreos/init/master/bin/coreos-install chmod +x coreos-install sudo ./coreos-install -d /dev/vdb sudo mount /dev/vdb9 /mnt sudo cp -Ra ~/.ssh /mnt/overlays/home/core/ sudo umount /mnt
さくらのクラウド固有の問題
OEMの機能を使ってIPアドレスを設定する。
cat > run <<EOF #!/bin/bash ip -4 address flush dev ens3 ip -4 address add (IPv4アドレス)/(ネットマスク) dev ens3 ip -4 link set dev ens3 up ip -4 route add default via (ゲートウェイ) echo nameserver (推奨ネームサーバその1) >> /etc/resolv.conf echo nameserver (推奨ネームサーバその2) >> /etc/resolv.conf EOF sudo mount /dev/vdb6 /mnt sudo cp run /mnt/ sudo chmod +x /mnt/run sudo umount /mnt
追記:上記設定だと/etc/resolv.confが反映されない模様。現在systemd周りで正しい設定方法を調査中。
CoreOSを起動する
ここまでできたら一旦Ubuntuサーバの電源を落として20GBの追加ディスクを取り外し、CoreOSサーバに接続しなおして起動。
ssh core@(IPv4アドレス)
で接続すればok。
______ ____ _____ / ____/___ ________ / __ \/ ___/ / / / __ \/ ___/ _ \/ / / /\__ \ / /___/ /_/ / / / __/ /_/ /___/ / \____/\____/_/ \___/\____//____/ core@localhost ~ $
ヒャッホーイ!
まとめ
- さくらのクラウドでCoreOSを動かすことができた
- IPアドレスをハードコーディングする必要があるので公開用イメージがつくれない
- さくらのクラウドはIPアドレスの取得をDHCPもしくは何らかの代替手段を用意してほしい
- さくらのクラウドでコンソール画面だけセッションタイムアウトになることがあってツラかった
*1:実はもらったクーポンを紛失したので中の人に再発行してもらった
- 12 http://t.co/UGyQ5yydrk
- 9 https://www.google.co.jp/
- 4 http://pipes.yahoo.com/pipes/pipe.info?_id=02db597254ec68550537866a2fca2ce6
- 2 http://t.co/YVNInzy3Ke
- 2 http://www.google.co.jp/search?hl=ja&ie=utf-8&lr=lang_ja&output=atom&q=Ubuntu&tbm=blg&tbs=sbd:1,qdr:d
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC0QFjAA&url=http://d.hatena.ne.jp/tmatsuu/20110614/1308010044&ei=6t0lU92BBY3FkQWx3oCAAQ&usg=AFQjCNHhDPtmiQz2M-B73VA2DSZnFYTK8Q&sig2=3gjVPZ58aszk-AZ8LjEAVg&bvm=bv.62922401,d
- 2 http://www.google.com/url?source=web&url=http://d.hatena.ne.jp/tmatsuu/20140316/1394986525
- 1 http://api.twitter.com/1/statuses/show/445231934730276864.json
- 1 http://api.twitter.com/1/statuses/show/445328581531410433.json
- 1 http://b.hatena.ne.jp/smly/favorite