現職は主に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