CoreOS が提供してくれるもの

  • 363
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

CoreOS の提供してくれる etcd と fleet を少し触って見たのでまとめることにします。

あんまり頑張って CoreOS のドキュメントを読んでいないので理解に間違いがある可能性があるので、編集リクエスト大歓迎です。

詳細なエントリー @mopemope が書いてくれています。詳細に知りたい方はコチラを読むと良いです。

入門と書いてある割にまったく入門ではないので注意。

CoreOS 入門 - Qiita

CoreOS

CoreOS は Docker を提供してくれる便利 OS というイメージが広まってますが、それはあまり適切ではありません。

CoreOS はクラスター機能を持っているモダンな Linux です。もちろん Docker も入っていますが、それはベースの一つというだけです。Docker を使うだけなら Ubuntu に Docker をインストールして使う方が良いでしょう。

CoreOS が提供する機能

CoreOS は Docker メインとみせかけつつ実は etcd と fleet がメインです。

  • etcd を使った高可用性 KVS 機能
  • etcd を使ったクラスタ機能
  • fleet を使った分散デプロイ機能
  • fleet を使ったフェイルオーバー機能

CoreOS は etcd と fleet が最初から入っており、簡単に分散したクラスタ環境にデプロイ、そしてフェイルオーバーが出来ます。

構築からフェイルオーバーまで

実際に動かしたい人のために、別途まとめてあります。

三部作です。うまくいけば 1 時間未満で動かせると思いますので、興味ある人は是非。

etcd によるクラスタリング

外部に discovery 用の etcd サーバを立てる必要はありますが、驚くほど簡単にクラスタが構築出来ます。

fleet による分散デプロイ

ローカルに fleet をインストールさえすればローカルから CoreOS 上のクラスタに対してサービスのデプロイが簡単に行えます。

fleet によるフェイルオーバー

fleet でのデプロイと etcd によるクラスタを組み合わせることでフェイルオーバーを実現します。

fleet で start したサービスが起動しているインスタンスが故障しても、他のインスタンスで同じサービスが起動します。

まとめ

CoreOS は可用性の高いサービスを気軽に提供出来るような基盤を提供してくれます。さらに Docker を使う事でデプロイのコストを下げています。

etcd で構築されたクラスタに fleet で Docker のイメージを配布でき、もし障害があったとしても、自動でフェイルオーバーすることで、サービスを継続してくれます。

この環境を簡単に構築出来るのが CoreOS なのです。使って見たくなりましたか?