Hatena::ブログ(Diary)

Dマイナー志向 このページをアンテナに追加 RSSフィード

2014-03-16

さくらのクラウドでCoreOSを動かしてみた

最近になってようやくDockerに目覚めまして、本番環境にDockerを使った場合の監視方法などを模索している今日このごろ。

ちょうどオープンソースカンファレンスさくらのクラウドの2万円分無料クーポンをもらった*1ので、さくらのクラウドにGentooベース(のChromeOSベース)で有名なCoreOSを載せてDocker環境を構築してみた次第。さくらさんありがとう!ありがとう!ありがとう!

どうすればCoreOSを構築できるか

さくらのクラウドではKVM/QEMUを使用しており、CoreOSはQEMU用イメージを用意しているものの、ホスト側を操作できるわけではないのでこの方法は取れない。

そこでInstalling CoreOS to Diskを参考に構築することにした。

CoreOSを起動するサーバをまずに用意する

さくらのクラウドはDHCPIPアドレスが取得できず、またCoreOSのcoreユーザにはパスワードが設定されていないため、Installing CoreOS to Diskの手順でそのまま構築するとSSH、コンソールのどちらからもアクセスできなくなってしまう。

そこでまずIPアドレスを決定するためにブランクディスクでサーバを作成する。

f:id:tmatsuu:20140317001405p:image

作成後、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:実はもらったクーポンを紛失したので中の人に再発行してもらった

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/tmatsuu/20140316/1394986525