Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Search
Nobuto Murata
December 08, 2015
Technology
0
33
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuで使えるコンテナ技術としてLXDを紹介します。
Nobuto Murata
December 08, 2015
Tweet
Share
More Decks by Nobuto Murata
See All by Nobuto Murata
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1.3k
おうちクラウドの夢よ再び―OpenStackが今熱い― 2024-06-01
nobutomurata
0
670
19.10をUnityっぽくして使う
nobutomurata
0
21
Canonical Livepatchサービスのご紹介 2017-11-01
nobutomurata
0
29
Nova-LXDとLivepatch, GREE Mini Tech Talk 2017-06-21
nobutomurata
0
18
Ubuntu PhoneとConvergence振り返り会 2017-05-13
nobutomurata
0
26
オレのUbuntuノートPCセットアップ 2016-12-17
nobutomurata
0
25
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
nobutomurata
0
58
Snappy Ubuntu Coreで遊んでみる 2015-06-20
nobutomurata
0
30
Other Decks in Technology
See All in Technology
技術負債の「予兆検知」と「状況異変」のススメ / Technology Dept
i35_267
1
1.1k
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
960
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.8k
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
190
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
260
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
700
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
5
740
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
390
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7.1k
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
730
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
Featured
See All Featured
Being A Developer After 40
akosma
89
590k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Documentation Writing (for coders)
carmenintech
67
4.6k
Designing for humans not robots
tammielis
250
25k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Building an army of robots
kneath
303
45k
Embracing the Ebb and Flow
colly
84
4.6k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Building Applications with DynamoDB
mza
93
6.2k
Six Lessons from altMBA
skipperchong
27
3.6k
The Cult of Friendly URLs
andyhume
78
6.2k
Transcript
Ubuntuとコンテナ技術 What is LXD? and Why? Nobuto Murata <
[email protected]
> 2015-12-08
We are the company behind Ubuntu.
EMPLOYEES London Boston Shanghai Taipei 600+ COUNTRIES 30+ FOUNDATION 2004
Beijing
LXD The Linux container hypervisor
1 2 3 LXD (“lex-dee”) Secure by design(セキュア) 非特権コンテナ、リソースの制限、などなど Scalable(スケーラブル)
ノートPC上での検証から数千台規模の物理マシンクラスタまで Intuitive(直感的) シンプルかつ明快なAPI、 コマンド ubuntu.com/lxd linuxcontainers.org/lxd github.com/lxc/lxd 高速、高集積かつセキュアなコンテナマネジメントシステム
• “Docker is an amazing application delivery mechanism, which may
change the world of devops forever” • “LXD and Docker share some underlying kernel capabilities” And Docker? 安心してください、どちらも使えます
あたかも物理マシンみたいに使うコンテナ “システムコンテナ”がLXDの特徴 アプリケーションコンテナとは目的や使われ方が異なる
1 2 3 LXD is not... LXDは完全仮想化を 提供するものではあ りません あくまでコンテナなの
で物理マシンと同等 のパフォーマンスが 出ます。 LXDはLXCを置き換 えるプロジェクトでは ありません LXDはLXCを補完す るもので、LXDはコン テナを作成/管理する ためにliblxcを使って います。 LXDはアプリケーション コンテナ管理ツールでは ありません LXDはコンテナの中で動 いているものには関知 せず、システムコンテナ 自体を管理します。 勘違いしないために、「LXDが何ではないのか」の正しい理解を
ちなみに、よくある質問: 「コンテナは商用環境で使えるのか?」 LXC自体は何年も前から商用サービスのワークロードを支えています。 例えば…
OpenStackはたくさんのサービスから成る “1サービス : 1物理マシン” にすると結構物理マシンが必要、かと いって単純に集約してしまうと後でスケールアウトするときに大変
そこで、LXCを使って 物理マシンの集約と柔軟性の両立
システムコンテナの応用例: Nova LXD OpenStack Novaでシステムコンテナ
Nova LXD github.com/lxc/nova-lxd
LXDのインストール
LXDのインストール方法 ## "lxd"パッケージのインストール ## Ubuntu 15.10のクラウドイメージではデフォルトインストール済み $ sudo apt-get install
lxd $ newgrp lxd ## イメージダウンロードサーバーを登録 $ lxc remote add images images.linuxcontainers.org ## 最新のLXDを使いたい場合は ## $ sudo apt-add-repository ppa:ubuntu-lxc/lxd-stable Ubuntuの場合
LXDのデモ
はじめてのコンテナ ## リモートイメージサーバーの情報 $ lxc remote list ## 使用できるイメージの一覧 $
lxc image list images: | less -S ## Ubuntu 14.04 LTS コンテナの起動 $ lxc launch images:ubuntu/trusty/amd64 demo1
コンテナ情報 ## コンテナ一覧 $ lxc list ## デバッグを見てみると… $ lxc
list --debug $ jq . ## コンテナ情報 $ lxc info demo1 $ pgrep -af /sbin/init $ ps fax | less -S $ lxc config show demo1
コンテナ内へ ## コンテナでbashを起動 $ lxc exec demo1 -- bash #
exit ## コンテナ内でコマンドを実行 $ lxc exec demo1 -- touch foo $ lxc exec demo1 -- ls -l ## ファイルのpush/pull $ lxc file push --mode=0600 /etc/hosts demo1/tmp/ $ lxc exec demo1 -- ls -l /tmp $ lxc file pull demo1/etc/hosts .
スナップショット ## スナップショットの保存 $ lxc snapshot demo1 good ## コンテナの破壊
$ lxc exec demo1 -- rm -rf /usr $ lxc exec demo1 -- ls /usr ## スナップショットから復元 $ lxc restore demo1 good $ lxc exec demo1 -- ls /usr
リソースの制限 ## CPU、メモリ情報の確認 $ lxc exec demo1 -- grep -c
processor /proc/cpuinfo $ lxc exec demo1 -- free -h ## CPU、メモリの制限を追加 $ lxc config set demo1 limits.cpus 1 $ lxc config set demo1 limits.memory 512M $ lxc restart demo1 ## 制限が反映されていることを確認 $ lxc exec demo1 -- grep -c processor /proc/cpuinfo $ lxc exec demo1 -- free -h
あとはどんどん作るだけ ## イメージにエイリアスを設定 $ lxc image list $ lxc image
alias create ubuntu 76668f72d313 ## 2コンテナ目以降を起動 $ lxc launch ubuntu demo2 $ lxc launch ubuntu demo3 ## コマンド一覧は $ lxc help
Ubuntu 16.04 LTSに向けて、LXDならびに Nova LXDは進化し続けます ひと口にコンテナと言っても、実はいろいろ。 あなたの使い方にLXDは合いますか?
canonical.com ubuntu.com Questions? canonical.com/careers