Upload
opennebula-project
View
949
Download
3
Embed Size (px)
Citation preview
Docker Machine and Swarm on OpenNebula
Javi Fontán
OpenNebula Project Engineer
© OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License
Docker and OpenNebula
+
© OpenNebula Systems SL
#1 - Docker Hypervisor
Docker as a Hypervisor
OpenNebula VM ⇔ Docker…
But, what happens with the Docker Catalog?
3
© OpenNebula Systems SL
#2 - Distribute OpenNebula in Docker
Distribute OpenNebula in Docker
Solves many packaging problems...
But it creates a lot of new ones!
4
© OpenNebula Systems SL
#3 - Docker-Machine + OpenNebula
Integrate with Docker-Machine
Use OpenNebula transparently to deploy your Docker host.
Switch between your docker hosts.
5
© OpenNebula Systems SL
#3 - Docker-Machine + OpenNebula - Understand
Docker-Machine Purpose
6
Docker Client
Public Cloud
© OpenNebula Systems SL
#3 - Docker-Machine + OpenNebula - Images
Boot2Docker
Lightweight Linux distribution based on Tiny Core Linux made specifically to run Docker containers.
http://boot2docker.io
7
© OpenNebula Systems SL
#3 - Docker-Machine + OpenNebula - Requirements
Requirements
● Desktop/Laptop access to OpenNebula CLI● Image for Docker Engine
○ https://github.com/docker/machine/blob/master/docs/drivers/os-base.md
○ http://docs.opennebula.org/stable/user/virtual_machine_setup/bcont.html
● Network for the Docker Engines● Install Docker Machine● Install OpenNebula Docker Machine driver plugin:
○ https://github.com/OpenNebula/docker-machine-opennebula/blob/master/README.md
8
#3 - Docker-Machine + OpenNebula - You can try it out
Demo
https://github.com/OpenNebula/docker-machine-opennebula
© OpenNebula Systems SL
#3 - Docker-Machine + OpenNebula - Usage I/II
Usage
● --opennebula-template-name: Name of the Template
● --opennebula-template-id: ID of the Template to use
● --opennebula-cpu: CPU value for the VM
● --opennebula-dev-prefix: Dev prefix to use for the images: 'vd', 'sd',
● --opennebula-disk-resize: Size of disk for VM in MB
● --opennebula-image-id: Image ID to use as the OS
● --opennebula-image-name: Image to use as the OS
● --opennebula-image-owner: Owner of the image to use as the OS
● --opennebula-memory: Size of memory for VM in MB
10
© OpenNebula Systems SL
#3 - Docker-Machine + OpenNebula - Usage II/II
Usage (cont.)
● --opennebula-network-id: Network ID to connect the machine to
● --opennebula-network-name: Network to connect the machine to
● --opennebula-network-: User ID of the Network to connect the machine to
● --opennebula-ssh-user: Set the name of the SSH user
● --opennebula-vcpu: VCPUs for the VM
● --opennebula-disable-vnc: VNC is enabled by default.
● --opennebula-b2d-size: Size of the Volatile disk in MB (only for b2d)
11
© OpenNebula Systems SL
#4 - OneFlow + Docker - Overview
Docker Swarm
Cluster of docker containers
Elasticity policy managed by OneFlow
12
© OpenNebula Systems SL
#4 - OneFlow + Docker - Understand13
© OpenNebula Systems SL
#4 - OneFlow + Docker - Demo
Demo Docker Swarm
14
© OpenNebula Systems SL
Summary
1. Docker as a hypervisor ⇒ NO
2. Distribute OpenNebula in Docker ⇒ NO
3. Integrate with Docker-Machine ⇒ YES
4. OneFlow + Docker ⇒ WIP
15
© OpenNebula Systems SL
What do you think?16
?What integration did you have in mind?
How do you use docker and how do you envision its integration with OpenNebula?
Is there any other you-should-absolutely-integrate-with-this-project we are missing?
25 - 27 October 2016
in BARCELONA
OpenNebula CONFERENCE4th edition
OpenNebula.org
Platinum Sponsor