第6回 コンテナ型仮想化の情報交換会@東京 に参加してきました
昔LXCで遊んでいたことあるんですが、最近Dockerを本格的にいじりはじめてから、このあたりの知識の足りなさを感じていたので、最近のナウいトピックを知りたいと思って参加してきました。
というかんじなので、理解できていない、間違っている部分が多々あるかと思いますので、ここ違うんじゃない?というところがある方はぜひ下のコメント欄でも、ブコメでもいいので教えていただけると喜びます。
資料などは 第6回 コンテナ型仮想化の情報交換会@東京 - connpass からどうぞ。
Cluster Schedulerの紹介
GoogleのOmega(OSSではない)というCluster Schedulerの論文を中心に、Cluster Scheduler の分類と歴史、Googleがなぜ新しいスケジューラを開発しているのか、その問題意識などをまとめたという感じでしょうか。Cluster Schedulerってなんぞ?というところからでしたが、なんとなくわかった気になれる内容でした。
クラスタリングスケジューラが管理するジョブの種類はバッチジョブとサービスジョブがあって、Googleの場合だと
- 割合からするとバッチジョブが全体の80%
- リソース面ではサービスジョブが全体の50-80%を利用する
というような状況らしく、これらをより効率よくスケジューリングするために新しいスケジューラを開発しているとのこと。ジョブの特性を考慮してスケジューリンするような仕組みが、既存のものでは実現できないという風に読んだのですがあってますかね…
Debian GNU/kFreeBSDにおけるJail構築を試してみた
Debian/kFreeBSD という FreeBSDカーネルの上で動くDebianでJail環境を構築してみたという話。
debootstrap という最小のディレクトリツリーをダウンロードできる便利コマンドを知れたし、それはDockerでも使ってるんだよーというTwitterを見てんなるほどーという感じでした。
で、Debian/kFreeBSD でJail環境を作るメリットとしては、
- カーネルがFreeBSDなのでFreeBSDのコンテナが動く
- もちろんDebianも動く
- Crossdebootstrapでクロスコンパイル環境を作ることもできる
というあたりらしいです。なるほどー。
今日から触れる Solaris Zones 入門
Solarisと言えば、大学の教授が「サーバと言えばSolarisでしょ」と言い初めてSPARCマシンを突然購入して押し付けられたけど何もできずに、数週間後にLenovoのサーバを買ってもらってDebianを入れていた記憶が思い出されます。
それはそれとして、SolarisにもZoneというコンテナ技術があって、オラクルのサイトからVirtualBoxのVMをダウンロードすればなんと無料で試すことができます。
リソース管理機能を使ってコンテナにも関わらず物理CPUをわりあてたりできるとのこと。
Solarisは、ものすごく古いバージョンでコンパイルしたバイナリも新しいOSでちゃんと動くそうで、そういう古いバイナリの実行環境を隔離するためにZoneが使われたりするらしいです。
OpenVZ Update
個人的なベストトークでした。
https://stats.openvz.org にOpenVZを使っているユーザの統計情報があつまっていて、これは自動で送られるようになってるんですかね?Gentooが4位というのがびっくりしました。
OpenVZはオープンソースだったものの、実際はParalles Clound Serversからのバックポートが多くて、関係者以外はコントリビュートしにくい状況だったそうです。それを一変させようと、OpenVZのソースコードとPCSのソースコード(の一部)をマージして公開するよ宣言があったとのこと。
PCSは3つのモジュールから構成されるんですが、その中のストレージ部分は商用アドオンのまま、他の部分はほぼマージするそうで、大胆な戦略だなーと思いました。
で、マージされる部分にはコンテナとハイパーバイザの両方を透過的に扱うための仕組みも含まれるそうで、数週間前にはOpenVZ上でDockerコンテナが動いたとのこと。
さらにOpenVZのlibctとlibcontainerが統合されることがDockerConで発表されていて、それによってDockerはCRIUが利用できるようになり、OpenVZはDockerコンテナが動くようになるというメリットがあるそうです。(CRUIについてはあとのLTで)
スライドの18枚目が衝撃で、libcontainerがカーネルとコンテナの間を橋渡しするので、lxcもDockerもvzctlもできるようになる、と。
ただ、まだマージは今がんばってやってるところなので乞御期待。
LXC Update
LXC 1.1ではCRUI(まだでた!)よる新機能が入ったのと、initにsystemdが使えるようになったとのこと。
ほかには、LXDというREST APIの受け口ができて、LXCコマンドでリモートのコンテナも操作できるようになったそうです。
LT3本
Amazon ECS
まだプレビュー版なので、申請してしばらく待つと使えるようになるそうです。
試してみた系の記事がいくつかあるから、それをやってみて雰囲気を掴んでみるのよさそうとのこと。
ノートPCにOpenStack
Ubuntu OpenStack Installerを使えばスペックさえあればノートPCでOpenStackが!
プロビジョニングにはJujuとMAASというを使っているそうなのですが、まったく知らなかったのであとで見てみようと思いました。
CRIU
OpenVZでも話に出ていたCRIUですが、コンテナのプロセスをダンプ、リストアする仕組みだそうで、これを利用してライブマイグレーションが実現できるようになるとのこと。
コンテナのライブマイグレーションができるようになると、可用性と集約率が向上するので、DockerコンテナでCRUIが使えるようになると夢が広がる感じでした。
おわりに
正直、なにもわからなかったらどうしようと思いながら参加したのですが、それなりに理解できるところもあり、次に勉強するべきポインタも沢山見付けられたのでよかったです。
スタッフの皆さん、登壇者の方々、会場を提供してくださったIIJさん、ありがとうございました。