Warning: Trying to access array offset on value of type bool in /home/r1029599/public_html/engineer-log.net/wp-content/themes/simplicity2/lib/customizer.php on line 5404

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

現職は主に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-configcloud-initにインスパイアされている.cloud-initはCoreOSが使わないツールも含むので,cloud-configは必要最低限なものだけを実装したサブセットになる.さらに,例えばetcdの設定,systemdのunitなどといったCoreOS特有の設定項目も持つ.

最小限には,cloud-configは,ホストに既存のクラスタへの参入方法とetcdfleetの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

– PR –
– PR –