LoginSignup
4
3

More than 5 years have passed since last update.

CoreOSをVirtualBoxにインストールする

Last updated at Posted at 2015-11-19

作業環境

Ubuntu 15.04
VirtualBox 4.3
Linux系OSであればインストール方法はだいたい同じです。

はじめに

CoreOS社が公開しているインストール方法に関するドキュメントはこちらです。

初めてVirtualBoxにCoreOSをインストールしようとしたとき、ISOイメージに気を取られて、CoreOSドキュメントページISOリンクを参照してしまい、無駄な時間を過ごしました。VirtualBoxにインストールしたいときはVirtualBoxリンクを参照します。

1.gif

インストール手順

これらの作業はVirtualBoxがインストールされているコンピュータ上で行います。

手順
1. VDIファイルを作成するためのシェルクリプトをダウンロードし、実行権限を付与
2. VDIファイルの作成
3. VDIファイルのハードドライブサイズを変更
4. 必要に応じて作成したVDIファイルを複製
5. ISOファイルを作成するためのシェルクリプトをダウンロードし、実行権限を付与
6. ISOファイルの作成
7. 作成したVDIファイルとISOファイルを使って仮想マシンを作成・起動
以上。

1. VDIファイルを作成するためのシェルクリプトをダウンロードし、実行権限を付与

wgetコマンドがない場合はこちらからダウンロードします。

user@localhost:~$ wget https://raw.github.com/coreos/scripts/master/contrib/create-coreos-vdi
user@localhost:~$ chmod a+x create-coreos-vdi

権限を付与した結果です。

user@localhost:~$ ls -l
-rwxrwxr-x 1 user user  3573 11月 18 18:55 create-coreos-vdi

2. VDIファイルの作成

作成するVDIファイルのパスとダウンロードするCoreOSのバージョンを指定してスクリプトを実行します。数百MBあるので、完了するまでに少々時間がかかります。

user@localhost:~$ ./create-coreos-vdi -d /home/user/VirtualBox -V beta
...
Success! CoreOS beta VDI image was created on coreos_production_835.5.0.vdi

スクリプトが正常に完了すると例えば以下のようになります。

user@localhost:~/VirtualBox$ ls -l
-rw------- 1 user user 788529152 11月 19 13:55 coreos_production_835.5.0.vdi

参考までにcreate-coreos-vdiシェルクリプトのヘルプです。

user@localhost:~$ ./create-coreos-vdi -h
Usage: ./create-coreos-vdi [-V version] [-d /target/path]
Options:
    -d DEST     作成されたVDIファイルを保存するパスを指定
    -V VERSION  ダウンロードするCoreOSのバージョンを指定。
                alpha, beta, stableのいづれか。指定しなければstableがダウンロードされる。
    -h          ヘルプを表示

This tool creates a CoreOS VDI image to be used with VirtualBox.

3. VDIファイルのハードドライブサイズを変更

作成されたVDIファイルのハードドライブサイズは4GB程度に設定されているので、変更したい場合は修正します。例えば10GBにしたい場合。

user@localhost:~/VirtualBox$ VBoxManage modifyhd coreos_production_835.5.0.vdi --resize 10240

4. 必要に応じて作成したVDIファイルを複製

CoreOSの仮想マシンを複数構築する場合は、上記VDIファイルをベースイメージとして残します。
VirtualBoxのコマンドを使ってVDIファイルをコピーします。作成する仮想マシンの名前(hostname)を付けることが望ましいです。

user@localhost:~/VirtualBox$ VboxManage clonehd coreos_production_835.5.0.vdi hostname.vdi
...
Clone hard disk created in format 'VDI'. UUID: 2252000e-8a2b-4471-9767-00c469eb60b5
user@localhost:~/VirtualBox$ ls
coreos_production_835.5.0.vdi hostname.vdi

5. ISOファイルを作成するためのシェルクリプトをダウンロードし、実行権限を付与

手順1と同じくwgetコマンドがない場合はこちらからダウンロードします。

user@localhost:~$ wget https://raw.github.com/coreos/scripts/master/contrib/create-basic-configdrive
user@localhost:~$ chmod a+x create-basic-configdrive
user@localhost:~$ ls -l
-rwxrwxr-x 1 user user      4820 11月 18 19:11 create-basic-configdrive
-rwxrwxr-x 1 user user      3573 11月 18 18:55 create-coreos-vdi

6. ISOファイルの作成

ISOファイルを作成するにあたり、SSH公開認証鍵が必要になります。鍵は下記コマンド1行で生成できます。暗号アルゴリズムにはdsaやrsaなどが選べますが、rsaを選択しておけば無難です。

user@localhost:~$ ssh-keygen -t rsa
user@localhost:~$ ls
id_rsa id_rsa.pub

サーバー名(Hostname)を指定するオプションとSSH公開鍵を指定するオプションは必須です。
下記認証鍵はユーザ core に紐付けられます。

user@localhost:~$ ./create-basic-configdrive -H hostname -S id_rsa.pub
...
Success! The config-drive image was created on /home/user/hostname.iso

参考までにcreate-basic-configdriveシェルクリプトのオプションです。

user@localhost:~$ ./create-basic-configdrive -h
Usage: ./create-basic-configdrive -H HOSTNAME -S SSH_FILE [-p /target/path] [-d|-e|-i|-n|-t|-h]
Options:
    -d URL             Full URL path to discovery endpoint.
    -e http://IP:PORT  Adviertise URL for client communication.
    -H HOSTNAME        Machine hostname.
    -i http://IP:PORT  URL for server communication.
    -l http://IP:PORT  Listen URL for client communication.
    -u http://IP:PORT  Listen URL for server communication.
    -n NAME            etcd node name.
    -p DEST            Create config-drive ISO image to the given path.
    -S FILE            SSH keys file.
    -t TOKEN           Token ID from https://discovery.etcd.io.
    -h                 This help

This tool creates a basic config-drive ISO image.

7. 作成したVDIファイルとISOファイルを使って仮想マシンを作成・起動

仮想マシンを作成するためのVDIファイルとISOファイルが準備できたので、VirtualBoxで仮想マシンを新規に作成します。
2.gif

名前: 任意のサーバ名(hostname)を記入
タイプ: Linux
バージョン: Other Linux(64-bit)
3.gif

CoreOSの推奨最低メモリサイズは1GBです。
4.gif

作成したVDIファイルを選択
手順3でハードドライブのサイズを変更していれば、4.43GB以外のサイズになります。
5.gif

作成された仮想ホストを設定
6.gif

ストレージ >> CD/DVDドライブ >> 作成したISOファイルを選択
選択し終わると下図のようになります。
7.gif

以上で設定は完了です。仮想ホストを起動します。
8.gif

下図の画面になればインストール作業は完了です。
パスワードは設定されていないので、この画面はこのままにしておき、ログインは別ホストから鍵を使って行います。
9.gif

手順6で作成したid_rsa鍵を使って別ホストからログインします。
認証鍵はユーザ core に紐付いています。

ssh -i id_rsa core@10.0.2.15

以上。

最後に

Docker, etcd, Fleetなどのソフトウェアはcloud-configファイルを作成し、coreos-cloudinitシェルスクリプトを使って別途インストールします。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3