前人未踏の領域へ アプリ開発編

Android, iOSアプリ開発に関する調査メモ置き場。ほとんどAndroid。はてなダイアリーから移行したため古い記事にはアプリ以外も含まれます。

CoreOSをVagrant上で起動する。

手順

  1. CoreOS用Vagrantfileの入手
  2. user-dataの編集
  3. config.rbの編集
  4. 起動
    1. エラーが出るケース
  5. 確認
  6. 接続

CoreOS用Vagrantfileの入手

$ git clone https://github.com/coreos/coreos-vagrant.git
$ cd coreos-vagrant
$ ls
README.md		Vagrantfile		config.rb.sample	user-data.sample
Vagrantfile

user-dataの編集

サンプルファイルをもとに編集。
まずは下記のサイトにいく。するとURLをもらえるのでコピる。
https://discovery.etcd.io/new

$ cp -pi user-data.sample user-data
$ vi user-data

編集内容

#discovery: https://discovery.etcd.io/token
discovery: https://discovery.etcd.io/5a1813dee0a17f7d69ba3b3ba250bbxx

config.rbの編集

サンプルファイルをもとに編集

$ cp -pi config.rb.sample config.rb
$ vi config.rb

編集内容
起動するインスタンス数と更新用のチャンネルを選択する。update_channelはstable,beta,alphaとあるので今回は安定版(stable)を選択

# Size of the CoreOS cluster created by Vagrant
$num_instances=3
# Official CoreOS channel from which updates should be downloaded
$update_channel='stable'

起動

$ vagrant up
エラーが出るケース

こちら https://github.com/coreos/coreos-vagrant/issues/63 にも書いてあるが、環境によってはSSHのところで固まる。

core-01: SSH auth method: private key
    core-01: Error: Connection timeout. Retrying...
    core-01: Error: Connection timeout. Retrying...
    core-01: Error: Connection timeout. Retrying...
    core-01: Error: Connection timeout. Retrying...
解決策

上記問題が発生したら
『ctrl+cして再度vagrant up する。これをcore-03が起動するまで続ける』
という強行突破で一応起動して接続まではいける(ひどいやり方だが)。
ただし停止の際にもSSHが接続にいけずにタイムアウトして強制停止に切り替わるまでかなり待たされる(関係性は不明)。

確認

$ vagrant status
Current machine states:

core-01                   running (virtualbox)
core-02                   running (virtualbox)
core-03                   running (virtualbox)

This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, run `vagrant status NAME`.

接続

先に下記を実行しておく。

ssh-add ~/.vagrant.d/insecure_private_key
$ vagrant ssh core-01 -- -A
Last login: Mon Jul 28 22:23:52 2014 from 10.0.2.2
CoreOS (stable)
core@localhost ~ $ 

停止

$ vagrant halt core-01 core-02 core-03