読者です 読者をやめる 読者になる 読者になる

Docker1.0.0を記念して、ISO imageからCoreOSをインストールしてみた。

三十路になりました。とうも、はせひろです。

Dockerが1.0.0になったことだし、Dockerfileを書いて遊んでいましたが、そろそろCoreOSを触ってみようと、とりあえずISO imageからインストールしてみました。

相対的に見てvagrantを使ったインストール方法の記事が多いけど、最初から自分でやってみたかったのと、諸事情によりそちらのほうが都合が良いので。

もちろん、こういう記事は他にもあるのですが、とりあえずね。

1. ISOをダウンロードしてくる。

以下のURLからISOイメージファイルをダウンロードします。Beta Channel, Alpha Channelがありますが、Appha Channelのほうが新しいのでそちらを選択します。
https://coreos.com/docs/running-coreos/platforms/iso/https://coreos.com/docs/running-coreos/platforms/iso/

f:id:HaseHiro:20140613164659j:plain

でも結局、インストールするときはHTTP経由でISOイメージをダウンロードしてきているっぽいので、ここではなんでもいいのかもしれません。

2. ダウンロードしたISOイメージをつかって仮想マシンをブートします。

f:id:HaseHiro:20140613165104j:plain

ここでは仮想マシンとしましたが、ISOからブートするので物理マシンでも同じ手順かと勝手に思ってます。

f:id:HaseHiro:20140613165253j:plain

さて、入力待ちになりましたので、次に進みます。

2. cloud-configを作成してCoreOSをインストールする。

さて、次はcloud-configファイルを作成していきますが、CoreOS側端末だけで作るのはいささか大変です。

CoreOSはSSHでしかログインできません。かつ、SSH鍵認証が必要です。

cloud-configの設定ファイルに公開鍵を設定しなければいけないのですが、さすがに手で入力するのはつらいです。

ですが、インストールするまでならユーザIDとパスワードでSSHログインが可能ですので、そうしましょう。

ちなみに、デフォルトで「core」というユーザが存在しているのでこいつにパスワードを設定してあげましょう。

$ sudo passwd core

パスワードを設定したら、windowsであれば tera term などを使って別端末からログインしましょう。

ログインできたら、とりあえずスーパーユーザになっておいてください。
以降はCoreOS側端末ではなく、別の作業用端末からの作業になります。

$ sudo -s

さて次にcloud-config用のファイルを作成します。おもむろに次のようにコマンドを打ちましょう。

# vi config

cloud-configはCoreOS固有の設定を記述しておくファイルです。公式サイトのドキュメントを見ればもっとたくさんの設定が書いてありますが、今回は単純にインストールするだけですので、以下のようにします。

#cloud-config

ssh_authorized_keys:
  - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAqD・・・・・

ssh_authorized_keys:は、ログインに使用する公開鍵を設定しておくところです。
users:などを利用しなければ、デフォルトのユーザ「core」ユーザでログインするときに使用する鍵になります。

ssh-keygen -t rsa などで作成した鍵を利用しましょう。ここに設定するのは.pubのほうです。

これが出来たらインストールですが、CoreOSのインストールは、インストール時に再度HTTP経由でISOイメージを取得しにいくので、プロキシ環境の場合はhttp_proxyを設定しておいてください。

# export http_proxy="$PROXYHOST:$PORT"
# coreos-install -d /dev/sda -C alpha -c config

coreos-installがインストールコマンドです。-dオプションでインストール先のディクスを指定します。

また、-C オプションでインストールするチャンネル、-c オプションでcloud-configを記述したファイルを指定します。

インストールが完了すると「Success・・・」と表示されて、コンソールが入力待ちになるので

# reboot

リブートします。

CoreOSは何も指定しない場合、DHCPIPアドレスを取得するので、CoreOS側端末でIPアドレスを確認しましょう。IPアドレスはリブート後立ち上がったログイン画面に表示されています。

IPアドレスを確認したら、別の作業用端末から、SSH鍵認証でログインします。

f:id:HaseHiro:20140613172258j:plain

色が可愛い♪

おもむろにDockerのバージョンを確認してみましょうか。

f:id:HaseHiro:20140613172401j:plain

よし!1.0.0です!!

以上でCoreOSのインストール作業は終了です。

正直なところ、Dockerだけを使うのであればCoreOSを選択するメリットはあまりない気がしています。他のディストリビュージョンに比べて軽量であるということはありますが、クラスタリングなどを構成するときにもっとも威力を発揮するのでしょう。

特徴できなところは以下のページがとても参考になります。
CoreOS 入門 - Qiita

現場からは以上でーす。