(O+P)ut

OutPut Log by SE in SIer



(O+P)ut

Output Log by SE

【入門】CoreOSとは?

スポンサーリンク

はじめに

コンテナに最適化されたOS、CoreOSは別名Container Linuxとも呼ばれています。

本記事では「CoreOS」を初めて聞いた方向けに分かりやすい記事を書きました。

CoreOSとは?

Container Linux redefines the operating system as a smaller, more compact Linux distribution. Traditional distros package unused software that leads to dependency conflicts and needlessly increases the attack surface.

余計なパッケージを削ったコンパクトなOSという文言で紹介されるCoreOS、実体はどんなOSなのでしょうか?

歴史的には、OpenStackで有名なRackspaceで働いていたAlex Polvi氏が設立した会社が「CoreOS」で、同名のLinux DistributionをOSSで公開しました。
そんなCoreOSは2018年にRed Hatに買収され、現在も開発されています。

CoreOSの特徴

Container Linuxというだけあって、CoreOSで動かすアプリケーションはコンテナとして起動させていきます。
Dockerだけでなく同じくコンテナ実行環境であるrktも同様に利用が想定されており、rkt自体もCoreOSのプロジェクトで開発されています。

ちなみに公式サイトでも以下のように言及されています。

rkt vs Docker
The Docker Engine is an application container runtime implemented as a central API daemon. Docker can resolve a "Docker Image" name, such as quay.io/coreos/etcd, and download, execute, and monitor the application container. Functionally, this is all similar to rkt; however, along with "Docker Images", rkt can also download and run "App Container Images" (ACIs) specified by the App Container Specification (appc).
Besides also supporting ACIs, rkt has a substantially different architecture that is designed with composability and security in mind.

rkt vs Other Projects より抜粋

レジストリを介さないACIというインターフェース、Dockerをroot権限で利用するセキュリティリスクに対する優位性等が記載されています。

また、CoreOS界隈でよく聞く単語に「etcd」があります。こちらはjsonのような分散KVSですがCoreOSに関する設定ファイルとして利用されます。

GoogleCloudPlatformで利用してみる

  • CoreOS alpha
  • CoreOS beta
  • CoreOS stable

から選択でき、下に行くほど安定板です。

今回は「stable」を選択してログインを行うと

Container Linux by CoreOS stable

上記メッセージがプロンプトに出現します。

もちろんdockerコマンドがデフォルトでインストールされています。

$ which docker
/usr/bin/docker

終わりに

再掲ですが、CoreOSというのはコンテナ利用に特化した軽量なLinuxです。
rktやetcdなど関連用語もありますが、基本的なクラウドでは利用可能OSとして提供されているのでぜひ実際に触って遊んでみることをお勧めします。


他の記事を読む