久しぶりにIDCFクラウドにCoreOSをISOからインストールします。手順は以前と同じです。今回の用途はCouchbase Serverクラスタを構築するため、AWS CloudFormationのcloud-configを参考にしてインストールします。最近はetcdを専用に1つしか作らないことが多かったですが、通常通りにすべてのCoreOSの仮想マシンにetcdをインストールします。
Couchbase Server用のCoreOSクラスタ
CoreOSの使い方はCouchbase LabsオフィシャルのDockerイメージを参考にします。
- Running Couchbase Cluster Under CoreOS on AWS
- tleyden5iwx/couchbase-server-3.0.1
- couchbase-server-docker
ISOの登録について
現在のCoreOSのISOは、Stableの494.5.0でした。まずIDCFクラウドにISOを登録してからCoreOSの仮想マシンを作成します。
- ISO名: coreos_49450
- 説明: coreos_49450
- URL: http://stable.release.core-os.net/amd64-usr/current/coreos_production_iso_image.iso
- ゾーン: tesla
- OSタイプ: Other (64-bit)
- エクスポート: 有効
- ブータブル: 有効
idcf-compute-apiを使ってISOをアップロードする場合
すべてIDCFクラウドのポータル画面から操作できますが、なるべくCLIを使いたいです。ISOをアップロードするところをCLIを使って実行します。
ゾーンの確認をします。
$ idcf-compute-api listZones -t=id,name |
OSタイプを確認します。
$ idcf-compute-api listOsTypes | jq '.listostypesresponse | .ostype[] | select(contains({description:"Other (64-bit)"}))' |
CoreOS 494.5.0のISOをアップロードします。
$ idcf-compute-api registerIso \ |
アップロードしたISOを確認します。
$ idcf-compute-api listIsos -t=id,name,bootable,isready |
CoreOSの仮想マシンを作成する
IDCFクラウドのポータル画面から操作して、アップロードしたISOからCoreOSの仮想マシンを作成します。ISOから起動した仮装マシンにはパスワード認証をするためSSH Keyは指定しません。Running状態になったら、コンソ-ルを開きます。ブラウザで開いたコンソールから、coreユーザーにパスワードを付けてSSH接続でパスワード認証ができるようにします。
$ sudo passwd core |
CoreOSをディスクにインストールする
さきほどコンソールからパスワードを設定したのでパスワードでSSH接続が可能になっています。ISOから起動した仮想マシンはLive DVDから起動したLinuxと同じでディスクに永続化されません。ディスクにCoreOSをインストールしてから使います。
$ ssh core@10.3.0.47 -o PreferredAuthentications=password |
AWS CloudFormationのテンプレートを参考にして、cloud-config.ymlを作成します。
write_files
の/etc/environment
以外の3つがCouchbase Server用のファイルです。Couchbase Serverを使わない場合はこの3つは不要です。
#cloud-config |
cloud-conig.ymlを使って、ディスクにCoreOSをインストールし直します。
$ sudo coreos-install -d /dev/sda -C stable -c ./cloud-config.yml |
reboot後、公開鍵を使ってSSH接続ができるようになります。
$ ssh -A core@10.3.0.47 |
確認
cloud-config.ymlでwrite_files
したファイルを確認します。
$ cat /var/lib/couchbase/data/.README |
fleetctlでfleetクラスタに仮装マシンが追加されたことを確認します。
$ fleetctl list-machines |
最後にIDCFクラウドのポータルから仮想マシンを停止して、ISOをデタッチします。