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
LXD System Containers [en]
Search
Christoph Lühr
March 07, 2017
Technology
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LXD System Containers [en]
Berlin PHP User Group @bephpug, March 7th, 2017
Christoph Lühr
March 07, 2017
More Decks by Christoph Lühr
See All by Christoph Lühr
Vektor-Suche & LLMs
chluehr
0
140
Search, Embeddings & Vector-DBs
chluehr
0
180
Reality Check: Automated Content Production at Enterprise Scale with Pimcore
chluehr
0
100
The how and why of getting Freelancers
chluehr
0
87
Content & Master Data Management with Pimcore
chluehr
1
760
Master Data Management with Pimcore
chluehr
0
230
Swoole in 5 Minutes [en]
chluehr
1
12k
PIM & Master Data Management with Pimcore 5 [en]
chluehr
2
340
Digital Transformation & Master Data Management with Pimcore 5
chluehr
0
270
Other Decks in Technology
See All in Technology
SRE Next 2026 何でも屋からの脱却
bto
0
1k
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
420
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.1k
AIが当たり前の組織で エンジニアはどう育つか
nishihira
0
110
GoでCコンパイラを作った話
repunit
0
130
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
4k
知らん間に、回ってる
ming_ayami
0
740
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
290
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
120
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
120
kaonavi Tech Night#1
kaonavi
0
110
Network Firewallやっていき!
news_it_enj
0
170
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Deep Space Network (abreviated)
tonyrice
0
230
The Cost Of JavaScript in 2023
addyosmani
55
10k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Scaling GitHub
holman
464
140k
30 Presentation Tips
portentint
PRO
1
350
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
370
How to Ace a Technical Interview
jacobian
281
24k
Six Lessons from altMBA
skipperchong
29
4.3k
Transcript
Christoph Lühr @chluehr / bePHPug 2017-03-07 LXD System Containers
None
None
Unicode Character 'HAPPY PERSON RAISING ONE HAND' (U+1F64B)
Hosting?
Testing?
Live Testing?
OS Updates?
Deployments?
Load Balancing?
None
None
SIN CE 2000
Image source: http://www.flickr.com/photos/robby_van_moor/5702589201/ CC BY-ND 2.0
None
(#) Internet
None
(d|t) Digital Transformation
https://en.wikipedia.org/wiki/File:Pimcore-logo-2016.svg
https://en.wikipedia.org/wiki/File:Pimcore-logo-2016.svg
System Container?
System? Container
Photo: drosen7900 http://www.flickr.com/photos/59691268@N00/26337022226 "The Internet Archive" Via: Photopin License: CC
BY-NC-ND-2.0 https://creativecommons.org/licenses/by-nc-nd/2.0/ SERVER!
MACHINE CPU, RAM, BIOS/IO ("physical hardware")
LINUX / OS Kernel + Userspace (Init, Shells, Tools, Libs)
APPLICATION PHP, Mysql, Redis, ... (Daemons, Services & Code)
APPLICATION OS KERNEL MACHINE Server Machine "Bare Metal"
Virtualization
VirtualBox XEN LXD Docker
APPLICATION OS KERNEL MACHINE H VirtualBox "Hardware Virtualization"
XEN "Paravirtualization" APPLICATION OS KERNEL MACHINE
APPLICATION OS KERNEL MACHINE LXD "System Container"
APP APP APP LIB LIB LIB KERNEL MACHINE Docker "Application
Container"
LXD
http://design.ubuntu.com/brand/canonical-logo
Features • Images • Instant Snapshots • Remotes, Transfer •
Space efficient • Disc- / Ram- / CPU Efficiency!
LXC CLI LXD Daemon LXC / Net.-Bridge ZFS LXD Components
/ Architecture
C:\>_ LXD Operations LXC local Commands
Create Container lxc launch ubuntu:16.04 my-container
List Containers lxc list
Start Container lxc start my-container
Stop Container lxc stop my-container
Execute (in) Container lxc exec my-container my-cmd
Copy Container lxc copy my-container new-con
Rename Container lxc move my-container mynewname
Destroy Container lxc delete my-container
Snapshots Points in Time Icon made by Madebyoliver from www.flaticon.com
is licensed by CC 3.0 BY
Create Snapshot lxc snapshot my-container or lxc snapshot my-container my-snap
Delete Snapshot lxc delete my-container/snapshot
Restore Snapshot lxc restore my-container snapshot
Create from Snapshot lxc copy my-container/my-snap \ new-container
Space Requirements Icon made by Freepik from www.flaticon.com is licensed
by CC 3.0 BY
Icon made by Freepik from www.flaticon.com is licensed by CC
3.0 BY 1 LXD Container = 1 GB
= ? GB Icon made by Freepik from www.flaticon.com is
licensed by CC 3.0 BY
= ~1 GB! Icon made by Freepik from www.flaticon.com is
licensed by CC 3.0 BY
ZFS Copy - on - Write
ZFS Copy - on - Write
Remotes Image source: http://www.iconarchive.com/show/ios7-icons-by-icons8/Network-Remote-Control-icon.html
Start remote Container lxc start my-remote:my-container
All CLI remotely! lxc xxxxx my-remote:my-container
Copy to Remote lxc copy my-container/my-snap \ my-remote:
Recap: Container Spec. remote:my-container/my-snap
Demo https://linuxcontainers.org/lxd/try-it/
HOSTING
HTTP Proxies Exposing Containers
Nginx Proxy HTTP Requests LXD Host LXD Container NGINX HTTP
Proxy Apache / PHP
server { listen 80; server_name www.website.de; location / { proxy_pass
http://10.1.1.264:80; client_max_body_size 100M; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; send_timeout 300; } }
NginX Proxy HTTP Requests LXD Host LXD Container A NGINX
HTTP Proxy Apache / PHP LXD Container B Apache / PHP
Deployment Strategy blue-green
Deployment Strategy blue-green LXD Host LXD Container A NGINX HTTP
Proxy Apache / PHP
Deployment Strategy blue-green LXD Host LXD Container A NGINX HTTP
Proxy Apache / PHP Snapshot copy of A
Deployment Strategy blue-green LXD Host LXD Container A NGINX HTTP
Proxy Apache / PHP LXD Container B Apache / PHP Testing
server { listen 80; server_name www.website.de; set $host_blue 10.31.1.199; set
$host_green 10.31.1.4; set $upstream $host_green; # default! if ($http_x_debug = "green") { set $upstream $host_green; } if ($http_x_debug = "blue") { set $upstream $host_blue; } location / { proxy_pass http://$upstream:80; } }
Deployment Strategy blue-green LXD Host LXD Container B NGINX HTTP
Proxy Apache / PHP LXD Container A Destroyed
Deployment Strategy blue-green LXD Host LXD Container B NGINX HTTP
Proxy Apache / PHP
Image source: http://www.flickr.com/photos/rietje/76566707/ CC BY 2.0
Features • VPCs: Networking / Bridges / ... • cgroups
(...): Limiting Ressources • Live (State) Migration (experimental) • Nesting: Docker within LXD Containers • Setup: Modern Kernel Features required • OpenStack: Nodes
LXD System Containers: Lean & Fast, support Snapshots & Remotes
& Transfers
Thanks! Questions? Christoph Lühr
[email protected]
[email protected]
@chluehr Slides license Attribution-NonCommercial-ShareAlike
3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/
Links & References • LXD https://linuxcontainers.org/lxd/