Dockerを知る -周辺ツールと業界動向- 2

Core OS

Core OS

Core OS

開発元 CoreOS.inc
公式サイト https://coreos.com/
ライセンス Apache License 2.0
提供開始 2013/06
最新バージョン 557.0.0

CoreOSは、コンテナの稼働を目的とした超軽量のLinuxディストリビューションである。CoreOSの構成要素はLinuxカーネル、systemd、コンテナ技術、そしてコンテナの動作に必要なパッケージのみであり、仮想マシンを複数立ち上げるのが困難な低リソースのサーバであっても、CoreOSとDockerであれば十分に運用出来る。導入にはノウハウが必要な箇所が存在するので、実際のインストール手順も含めて紹介する。

メリット

現在の一般的なLinuxディストリビューションは、ことDockerを運用していく専用OSとして利用するにはいささか冗長である。例えばコードの管理やnginxの稼働、RDBの運用等は、全てDockerコンテナで実現出来る。そのため、他のディストリビューションで広く利用されているパッケージマネージャは不要となる。CoreOSは、そういった「Dockerで出来ること」を可能な限り排除して軽量化を図り、主要な機能をコンテナ技術に任せることを前提に制作されている。そのためDockerと組み合わせると、重複する不要なプロセスやプロダクトにリソースを消費することなく、セキュリティホールになりうるリスクも最小限に、Dockerを運用できることだろう。

デメリット

CoreOSの最大のデメリットは、利用方法が一般的な他のディストリビューションと大きく違う点だろう。CoreOSには通常のLinuxディストリビューションには存在する一般的なコマンドがインストールされていない。パッケージ管理のyumもapt-getも存在せず、コマンドも必要最低限しか実装されていない。

CoreOSを導入してみる

今回インストールするのはCoreOS 472.0.0、稼働させる環境はVMWare ESXi 5.5.0上の仮想マシンである。公式ドキュメントを参考にした。

導入の時に登場するマシンは、全部で以下の3つだ。

  1. CoreOSをインストールするVM(以降CoreOSVM)
  2. CoreOSをダウンロードしたり変換したりするLinux端末(以降Linux端末)
  3. VMware ESXiにアクセスするWindows端末(以降Win端末)

ダウンロード

まずLinux端末より、CoreOSのイメージをダウンロードする。

$ curl -LO http://alpha.release.core-os.net/amd64-usr/current/coreos_production_vmware_insecure.zip

解凍

Linux端末よりダウンロードしたCoreOSのイメージを解凍する。

$ unzip coreos_production_vmware_insecure.zip -d coreos_production_vmware_insecure

解凍後、作成されたディレクトリへ移動しておく。

$ cd coreos_production_vmware_insecure

OVFツールの導入

Win端末からVMwareの公式サイトにアクセスし、OVFツールをダウンロードする。

VMware Open Virtualization Format Tool

ダウンロードが完了したら、Linux端末へファイルを送、Linux端末上でOVFツールをインストールする。OVFツールのファイル名は「VMware-ovftool-3.5.2-1880279-lin.x86_64.bundle」であるとする。

$ sudo sh VMware-ovftool-3.5.2-1880279-lin.x86_64.bundle

OVFへ変換

Linux端末上でダウンロード・解凍したCoreOSのイメージを、OVFツールを用いて変換する。

$ cd coreos_developer_vmware_insecure
$ mkdir coreos
$ ovftool coreos_production_vmware_insecure.vmx $ coreos/coreos.insecure.ovf

VMWareESXi上でデプロイ

Win端末よりESXiへアクセスして「ファイル→OVFをデプロイ」を選択し、OVF形式に変換したCoreOSイメージファイルを指定してデプロイする。

初回ログインの手順

CoreOSではコンソールからのログインは出来ないので、CoreOSをダウンロードしてきたディレクトリの中にある「insecure_ssh_key」をアクセスするLinux端末へ配置し、以下のコマンドでログインする。

# ssh -i insecure_ssh_key core@<HOST_IP>

ログインに成功すると、以下のメッセージが表示される。

Last login: Tue Nov  4 08:08:40 2014 from 10.255.199.128
CoreOS (alpha)
Update Strategy: No Reboots
Failed Units: 1
  locksmithd.service
core@localhost ~ $

CoreOSではDockerがインストール済みなので、後は利用するだけである。

CoreOSの評価

CoreOSは2014年の7月に正式版がリリースされ、大きな不具合も報告されていない。2014年の12月にDockerと決別する意向を表明したのは残念だが、それでも現状Dockerを低リソースで活用するのであれば、CoreOSはおすすめできる選択肢だろう。

筆者は、CoreOSを利用する価値があると考えている。だがパッケージ管理方法や、普段使っているOSコマンドや設定ファイルがないことが多々あるので、利用には若干の慣れが必要である。

次回は、KubernetesとPanamaxを紹介する予定だ。

この記事のキーワード

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る