LXD Container Hypervisor

14
LXD Container Hypervisor Danial Behzadi [email protected]

Transcript of LXD Container Hypervisor

Page 1: LXD Container Hypervisor

LXD Container Hypervisor

Danial Behzadi

[email protected]

Page 2: LXD Container Hypervisor

2016 LXD Container Hypervisor 2

Hypervisor

Page 3: LXD Container Hypervisor

2016 LXD Container Hypervisor 3

Container

Page 4: LXD Container Hypervisor

2016 LXD Container Hypervisor 4

LXC

● The Linux Container

● Kernel feature since 2008

● makes chroot available

● Apparmor and SELinux aware

● liblxc library with bindings in Python & Lua

● A set of standard tools for control

Page 5: LXD Container Hypervisor

2016 LXD Container Hypervisor 5

LXD over LXC

● Plain LXC

● Secure by default

● Simpler and less confusing tools

● Rely on container images

● Checkpoint and restore support

● No drastic change

Page 6: LXD Container Hypervisor

2016 LXD Container Hypervisor 6

LXD vs. Docker

LXD docker

Machine Management Software Distribution

Doesn’t care about content Cares about what is running

Can host docker instances Can use LXD for goods

Share underlying kernel capabilities

Page 7: LXD Container Hypervisor

2016 LXD Container Hypervisor 7

Main LXD components

● Containers

● Snapshots

● Images

● Profiles

● Remotes

Page 8: LXD Container Hypervisor

2016 LXD Container Hypervisor 8

LXD Containers

● Filesystem

● List of configuration options

● Devices

● Set of profiles

● Properties

● Runtime states

Page 9: LXD Container Hypervisor

2016 LXD Container Hypervisor 9

LXD Snapshots

● A copy of containers

● Immutable

● Can be renamed, destroyed or restored

● Stateful

● Ability to rollback

● Includes CPU and memory state

Page 10: LXD Container Hypervisor

2016 LXD Container Hypervisor 10

LXD Images

● Clean GNU/Linux distributions

● Ability to publish

● Identified by SHA256 hash

● Can have properties applied to

● Cached and kept for a number of days

● Automatically updates

Page 11: LXD Container Hypervisor

2016 LXD Container Hypervisor 11

LXD Profiles

● Defines configs and devices

● Multiple applicable

● Applied by order

● Override ancestors

● Default: defines eth0

● Docker: container nesting

Page 12: LXD Container Hypervisor

2016 LXD Container Hypervisor 12

LXD Remotes

● Local

● Ubuntu

● Ubuntu-daily

● Images

● …

● Your own remote

Page 13: LXD Container Hypervisor

2016 LXD Container Hypervisor 13

A case study story…

Page 14: LXD Container Hypervisor

2016 LXD Container Hypervisor 14

Thanks!