現職は主にLAMP環境で開発しており、LinuxはCentOSを使っています。
 案件によって、PHP5.3やPHP5.1を使う場合もあるので、
 その場合は都度ローカル開発環境を構築するので、
 正直面倒くさいから、Dockerを社内に導入しようと思っています。
よくDockerを使うならCoreOSを使用した方がいいと言うので、
 技術検証という意味で、実際に使ってみたいと思います。
ということで、まずはインストールからいきたいと思います!!!
今回はISOイメージを使って、インストールしたいと思います。
 CoreOS公式サイト:https://coreos.com/
 Virtual Box公式サイト:https://www.virtualbox.org/
■バージョン:
 CoreOS:835.12.0
 Virtual Box:5.0.14
ステップ1:仮想マシンを作成する
 タイプ:Linux
 バージョン:Linux 2.6 / 3x / 4x (64-bit)
 メモリはとりあえず約2Gでいいかな
 ディスク容量もとりあえず80Gでなんとかなるだろうw
ステップ2:仮想マシンの設定
 光学ドライブにCoreOSのISOイメージをいれる
 割り当て:ブリッジアダプターに変更すること
メインはCoreOSのインストールの紹介なので、Virtual Boxの設定は程ほどに・・・
ステップ3:CoreOSをインストール
仮想マシンを起動して、こんな感じになる
coreユーザーのパスワードを設定して、SSHで接続してみましょう!
sudo passwd core
次にCoreOSのcloud-config.ymlを書いてみましょう!
cloud-config.ymlとは・・・
cloud-configはcloud-initにインスパイアされている.cloud-initはCoreOSが使わないツールも含むので,cloud-configは必要最低限なものだけを実装したサブセットになる.さらに,例えばetcdの設定,systemdのunitなどといったCoreOS特有の設定項目も持つ.最小限には,
cloud-configは,ホストに既存のクラスタへの参入方法とetcdとfleetの2つのサービスの起動方法を伝えればよい(これらは全て関連している).これにより,新しいホストを,既存のサーバーに接続させ,設定する必要のあるツールを提供する.基本的に,これらがCoreOSノードを既存クラスタへ参入させるための要件となる.
sudo su - vim cloud-config.yml
次は下記の設定ファイルをベースに各自の環境に合わせましょう!
#cloud-config
hostname: coreos-dev #ホスト名
write_files:
  - path: /etc/skel/.bash_profile #user作成時、スケルトンの設定
    permissions: 0644
    content: |
      [[ -f ~/.bashrc ]] && . ~/.bashrc
      alias ll='ls -la --color=auto'
coreos:
  update:
    reboot-strategy: 'off' #OSの自動アップデート
  units: #各種unitのサービス起動方法
  - name: etcd2.service
    command: start
  - name: fleet.service
    command: start
  - name: docker.service
    command: start
  - name: timezone.service
    command: start
  - name: 10-static.network
    runtime: false
    content: |
      [Match]
      Name=enp0s3 #NICの名称を指定
      [Network]
      Address=192.168.0.xx/24 #IPアドレスの指定及びサブネットマスク
      Gateway=192.168.0.1 #Gatewayの指定
      DNS=8.8.8.8 #DNS primaryの指定
      DNS=8.8.4.4 #DNS secondaryの指定
users:
  - name: appdept   #追加ユーザ名
    passwd: btkFN6gRINXrM   # パスワード認証 openssl passwdコマンドの実行結果
    groups:   #グループ
      - sudo
      - docker
    ssh-authorized-keys:
      - ssh-rsa AAAAB・・・・   #公開鍵保存したら、シンタックスエラーチェックしましょう
sudo coreos-cloudinit -validate=true -from-file=./cloud-config.yml
問題がなければ、インストールしましょう
sudo coreos-install -d /dev/sda -C stable -c ./cloud-config.yml sudo reboot
ステップ4:確認
事前に設定したIPにSSHで接続ができれば、一応インストール完了になります。
まとめ
インストール自体はとても早くて簡単ですね
 cloud-config.ymlをもっと活用すれば、色んな可能性があるので、
 大量インストールとか、定型作業にも向いていると思います。
 CoreOSはどれほどいいのか、これから試してみたいと思いますw
