ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

コンテナ、DockerとLXD,LXCの違いなどを聞いてきた!

2016-02-29 15:26:21 | Weblog
コンテナ型ハイパーバイザー「LXD」入門

2月27日のオープンソースカンファレンス 2016 Tokyo/Springに行ってきた!つづき

コンテナ型ハイパーバイザー「LXD」入門

をメモメモ




【ツール】
LXD(れっくすでぃー)について
・Go言語製のコンテナが他ハイパーバイザー
 LXCを使って複数のホスト上の複数のコンテナを管理する仕組み
 クライアントサーバーモデル
 設定管理システム追加
 イメージ管理システム
 (クライアント)マルチプラットフォーム対応
 OpenStack Nova向けプラグイン

LXC:Linuxのコンテナ機能を使うためのインターフェース
・Docker,systemdでも使われているカーネルのnamespaceやcgroupsなどを使用
・コンテナと呼ばれる軽量な仮想環境を構築
・CPUの仮想化支援機能が不要
・KVMに比べると、軌道が高速でイメージサイズが小さい
・各種言語向けのバインディングが存在
・Linuxでしか動作しない
→詳しいことはLXCで学ぶコンテナ入門ー軽量仮想化環境を実現する技術

Docker
・主にアプリケーションコンテナを作る
・1コンテナ1プロセス
・一度作ったら中身を変えない

LXC
・主にシステムコンテナを作る
1コンテナにinit以下のフルシステムが動く
・コンテナ内部にログインして作業を行う

上記はあるまで一般論で異なる使い方も可能

LXCの不満点
・何をするにしても管理者権限が必要
・同一ホストのコンテナしか操作できない
・コンテナの施ty亭を変更する方法が分かりにくい
・複数のホスト間でコンテナインスタンスを共有しづらい

LXCの昨日よりはユーザー向けのインターフェースに問題がある
→LXCのハイパー倍剤を作るLXD

改めてLXDについて
・LXCを使って複数のホスト上の複数のコンテナを管理する仕組み
・クライアントサーバーモデル
 サーバー、コンテナを管理するlxd
  lxdコマンドは管理権限が必要
  lxcグループに入っていればいい
  サブコマンド方式で統一性
 ネットワーク透過性
 REST APIの提供
 設定管理システム
  コンテナの設定をsqlightに
 イメージ管理システム
  非特権システムコンテナを簡単に構築
  マイグレーション
  他ホスト上にも
 マルチプラットフォーム対応
   Windows/Macからubuntu上のコマンドを操作できる
 OpenStack Nove向けプラグイン
  KVMより一杯のもの立ち上げられる

非特権システムコンテナ
 rootがUID=0ではないコンテナ
 特権コンテナではホストとUIDを共有する
 非特権コンテナは、user namespaceを使ってマッピングしている
コンテナの中にコンテナ作る場合は、親コンテナは特権コンテナ

LXD,LXCに向いている仕事
・KVMやVMWあれ、Xenが行っていたシステムの仮想化
・リソースが少ない環境での仮想化
・組み込みでも使える(ubuntu Phone)

むいていない仕事
・ホスト、ゲストで異なるカーネル
・すでにDocker資産がある

LXD入門
・ubuntuで動かす
・2種類0.x系と2.0系がある
・0,x系はこれまでのリリース版
・2.0系は次期正式リリースとして開発中
・unbuntu 16.04 LTSでは2.0が入る
・今から評価するなら2.0を使ったほうがいい

必要なもの
・ホストマシン ubuntu14.04以上(ZFS使うなら16.04以上)
 クライアント ubuntu14.04以上
・デモサービスある

インストール
・ppa追加
・update
・フルアップグレード
・apt install
・newgrp lxd

ZFSについて

最初の一歩
sudo lxd init

イメージの取り込み
 lxd-images import ubuntu --alias ubuntu
 lxc image list

イメージの起動
 lxc launch ubuntu first

ホストとゲストのプロセスの状態
 lxc exec first -- ps axjf
  --のあとに実行したいプロセス

リソースの制限
 lxc config set first 制限したい項目

スナップショット
lxc snapshot first clean
lxc restore first clean

インスタンスをイメージに
 lxc image list
 lxc stop first
 lxc publish first --alias first-base

イメージリストを他に

ライブマイグレーション
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« オープンソースで始めるIoTデ... | トップ | SPSSのModelerがオープンソー... »
最新の画像もっと見る

Weblog」カテゴリの最新記事