LoginSignup
2
2

More than 5 years have passed since last update.

IDCFクラウドにStableのCoreOS 494.5.0をISOからインストールする

Last updated at Posted at 2015-01-08

IDCFクラウドにCoreOSをISOからインストールします。今回の用途はCouchbase Serverクラスタを構築するため、AWS CloudFormationのcloud-configを参考にしてインストールします。最近はetcdを専用に1つしか作らないことが多かったですが、通常通りにすべてのCoreOSの仮想マシンにetcdをインストールします。

Couchbase Server用のCoreOSクラスタ

CoreOSの使い方はCouchbase LabsオフィシャルのDockerイメージを参考にします。

ISOの登録について

現在のCoreOSのISOは、Stableの494.5.0でした。まずIDCFクラウドにISOを登録してからCoreOSの仮想マシンを作成します。

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を作成します。

discoveryは、https://discovery.etcd.io/newを実行して、新規に作成します。addrとpeer-addrはCoreOSクラスタは同一のVLAN内に構築するため、仮想マシンのプライベートIPアドレスを指定します。ssh_authorized_keysは任意の公開鍵を指定します。

write_files/etc/environment以外の3つがCouchbase Server用のファイルです。Couchbase Serverを使わない場合はこの3つは不要です。

~/cloud-config.yml
#cloud-config
write_files:
  - path: /etc/environment
    content: |
      COREOS_PUBLIC_IPV4=
      COREOS_PRIVATE_IPV4=10.3.0.47
  - path: /etc/systemd/system/docker.service.d/increase-ulimit.conf
    owner: core:core
    permissions: 0644
    content: |
      [Service]
      LimitMEMLOCK=infinity
  - path: /var/lib/couchbase/data/.README
    owner: core:core
    permissions: 0644
    content: |
      Couchbase Data files are stored here
  - path: /var/lib/couchbase/index/.README
    owner: core:core
    permissions: 0644
    content: |
      Couchbase Index files are stored here
coreos:
  etcd:
    discovery: https://discovery.etcd.io/d7bd532d2f3b86b050515bf3bdc1d93d
    addr: 10.3.0.47:4001
    peer-addr: 10.3.0.47:7001
  units:
    - name: etcd.service
      command: start
    - name: fleet.service
      command: start
    - name: docker.service
      command: restart
    - name: timezone.service
      command: start
      content: |
        [Unit]
        Description=timezone
        [Service]
        Type=oneshot
        RemainAfterExit=yes
        ExecStart=/usr/bin/ln -sf ../usr/share/zoneinfo/Japan /etc/localtime
write_files:
ssh_authorized_keys:
  - ssh-rsa AAAAB3NzaC...

cloud-conig.ymlを使って、ディスクにCoreOSをインストールし直します。

$ sudo coreos-install -d /dev/sda -C stable -c ./cloud-config.yml
$ sodo reboot

reboot後、公開鍵を使ってSSH接続ができるようになります。

$ ssh -A core@10.3.0.47

確認

cloud-config.ymlでwrite_filesしたファイルを確認します。

$ cat /var/lib/couchbase/data/.README
Couchbase Data files are stored here

fleetctlでfleetクラスタに仮装マシンが追加されたことを確認します。

$ fleetctl list-machines
MACHINE         IP              METADATA
f0f5fcc4...     10.3.0.47       -

最後にIDCFクラウドのポータルから仮想マシンを停止して、ISOをデタッチします。

2
2
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
2
2