クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

第4回 コンテナ型仮想化の情報交換会@東京に参加しました。 #lxcjp

昨日 niftyセミナールームで行われた第4回 コンテナ型仮想化の情報交換会@東京に参加しました。

コンテナ技術についてインプットが得られた一日でした。

Cgroupあれこれ

コンテナのリソース管理のキモのCgroupについての話でした。

dockerなどのコンテナではコンテナごとにリソース制御が重要

※AmazonLinux 2013.02、t2.microでリソース Limitを試してみました。

sudo yum install libcgroup

リソース Limitを以下のファイルに記載して、cgconfigサービスを再起動します。CPUをMax 25%に制限する設定になります。

vi /etc/cgconfig.conf
group limittest {
 cpu {
   cpu.cfs_quota_us  = 250000;
   cpu.cfs_period_us = 1000000;
 }
 cpuacct {
 }
}

リミッターをかけて、perlbrewのビルドを実施したコマンドになります。

time cgexec -g cpu:limittest /root/perl5/perlbrew/bin/perlbrew install perl-5.18.2

real 44m10.634s
user 9m5.304s
sys 0m29.512s

Using LXC on Production

mixiがLXCをProduction環境(本番環境)に導入した話

まずは、KVMで仮想環境を構築

が、ディスクIO、ディスク容量を多く消費、BIOS依存(IntelVT/AMD-V)などあった。

次に、OpenStack

scriptを使って構築が楽に

いよいよLXC

2013当時はまだ0.X 2014-02にLXC 1.0がリリースされるが、待てないので、0.9で検証開始

Dockerの簡易版といえるmixi運用に必要な機能に絞って独自LXCラッパーtrailerを開発

コンテナ系はCPU他リソースを共有するので、リソース管理が重要

ファイルディスクリプタ、カーネルパラメータのチューニングが必須 ここ にLXCチューニングについて詳しく書かれています。

CoreOSでDockerクラスタリング

dockerに最適されたCoreOSについての話

コア部分にはユーザ側でアップデートはできない(OSアップデートは勝手にやってくれる)、追加でアプリケーションを入れることができないので、docker経由でアプリケーションを入れる必要があります。

dockerなどはデータの永続化が難しいので、RDBとかは外部ディスクに保存することが必要。(RDS、Goole Cloud SQLを利用するのもあり)

GCE上で、CoreOSのVMを複数起動させて、Failoverのデモ(当日はうまいかなったようですが)

後日試してみようと思いますので、近日アップデートします。

コンテナ?これfreebsdでもできるよ

FreeBSDのjailについて

Oracle Solaris コンテナ技術

Solarisコンテナ技術である Oracle Solaris Zoneについて

FreeBSDのjailに実装的に似ている

LXC最新情報

共通で話されたことが、リソース管理の重要性がありました。

コメントは受け付けていません。