•
•
•
•
•
Network
Virtualization
(Calico, Flannel...)
Container
Virtualization
(Docker,...)
•
–
–
•
–
–
–
•
•
•
Container = Docker ?
•
•
•
APP A
Bins/Libs
APP B
Bins/Libs
Container Engine
HostOS
Hardware
● Based on LXC (Linux Container)
● LXC appears from kernel 2.6.29
● LXC driver must be activated
•
•
–
•
•
•
• sudo lxc-cgroup -n memroy.limit_in_bytes 256M
• allows us to isolate processes from each
other(process, network, IPC, file system, hostname)
• allows us to limit resource utilization
•
•
APP A
Bins/Libs
APP B
Bins/Libs
Guest
OS
Hypervisor
Host OS
Guest
OS
Hardware
APP A
Bins/Libs
APP B
Bins/Libs
Libcontainer
HostOS
HardwareHost OS
APP A
Bins/Libs
APP B
Bins/Libs
Libcontainer
Hypervisor
Hardware
•
…
•
•
•
•
•
1. make pull. This pulls mato/rumprun-packages-hw-x86_64 which will take a
while. This image contains the prebuilt rumprun unikernels for mysql, nginx
and php.
2. make. This builds the unikernel containers.
3. make rundns. Runs a DNS server on docker0, using mgood/resolvable.
4. sudo ./docker-unikernel run -P --hostname nginx unikernel/nginx.
5. Browse to http://nginx/.
This will start a container with an Nginx unikernel, serving
static files.
•
–
•
•
•
•
–
–
–
•
–
–
–
Virtualization inside kubernetes

Virtualization inside kubernetes