The Nova driver for Docker has been maturing rapidly since its mainline removal in Icehouse. During the Juno cycle, substantial improvements have been made to the driver, and greater parity has been reached with other virtualization drivers. We will explore these improvements and what they mean to deployers. Eric will additionally showcase deployment scenarios for the deployment of OpenStack itself inside and underneath of Docker for powering traditional VM-based computing, storage, and other cloud services. Finally, users should expect a preview of the planned integration with the new OpenStack Containers Service effort to provide automation of advanced containers functionality and Docker-API semantics inside of an OpenStack cloud.
Note that the included Heat templates are NOT usable. See the linked Heat resources for viable templates and examples.
9. Docker
Heat Resource
Heat API
VM
Docker
Nova resource Nova
Docker resource
Container1
Container2
Container3
HOT
10. Docker
Heat Resource
Heat API
VM
Docker
Nova resource Nova
Docker resource
Container1
Container2
Container3
HOT
1. Heat provides a Docker resource
2. Docker resource communicates
directly to Docker
3. Templates may glue Nova and
Docker resources
4. Can deploy containers on top of
VMs or bare-metal instances.
19. The Containers Team
Working Group of the Compute Program
• Operating underneath Compute program
• Outlined a proposal for Magnum (Nova Mid-cycle)
• Magnum would directly orchestrate containers
• Would leverage all benefits and features unique to
containers.
• It would be the “nova of containers”
• It could use Nova to spawn instances to hold
containers.
• Those instances may be VMs, Baremetal, or
Containers.
20. See Adrian Otto’s presentation:
Containers for Multi-cloud Apps
Tomorrow: 17:20
22. Awesome People
Ian Main (Red Hat)
Chris Alfonso (Red Hat)
Davanum ‘dims’ (IBM)
ChangBo Guo
Julien Vey (Numergy)
Aaron Rosen (Nicera)
Derek Higgins (Red Hat)
Paul Czarkowski (Rackspace)
Daniel Kuffner
Pedro R Marques (Juniper)
Lars Kellogg-Stedman
(Red_Hat)
Sam Alba (Docker)
& more…
23. What?
Enables control of
Docker via OpenStack:
• Nova API
• Horizon UI
Supports:
• launch
• terminate
• reboot
• serial console
• snapshot
• Glance
• Neutron
• Pause/unpause
https://wiki.openstack.org/wiki/
HypervisorSupportMatrix
25. Nova doesn’t…
Link container networks
Pass environment variables
Specify working directories
Create docker-volumes
Share docker-volumes between containers
Arbitrary commands
Arbitrary command-arguments
Pass devices
Nova is a machine abstraction, not a process one.
26. Docker doesn’t…
• Support mounting devices (unprivileged)
• Live-migration is future-speak
• Boot from block devices (natively - it’s possible…)
• Support Glance natively
• PCI pass-through
28. Havana & Icehouse
Image Management
(at-release)
• docker-registry worked as a proxy
• Users had to upload through
docker-registry.
• docker pulls images through the
docker-registry proxy
30. Havana & Icehouse
Image Management
(at-release)
• Glance was only used to provide
visibility of Docker images for Nova.
31. Havana & Icehouse
Image Management
(at-release)
• Glance was only used to provide
visibility of Docker images for Nova.
• Users could not upload through
Glance directly
32. Havana & Icehouse
Image Management
(at-release)
• Glance was only used to provide
visibility of Docker images for Nova.
• Users could not upload through
Glance directly
• Making that work would require a
special procedure for glance uploads.
37. Just Enough Docker
• A subset of Nova features…
• A subset of Docker features…
38. Just Enough Docker
• A subset of Nova features…
• A subset of Docker features…
• Enough for Nova to allow running
Docker-in-Docker.
39. Just Enough Docker
• A subset of Nova features…
• A subset of Docker features…
• Enough for Nova to allow running
Docker-in-Docker.
• DinD retains most performance
benefits of Docker.
40. Just Enough Docker
• A subset of Nova features…
• A subset of Docker features…
• Enough for Nova to allow running
Docker-in-Docker.
• DinD retains most performance
benefits of Docker.
• DinD is Docker and everything
you love about Docker.
67. Working Upstream
• Added pause and unpause support for docker containers.
• Well accepted into the Docker project.
• Dynamic device support needed for Cinder volumes.
• First API that modifies running containers.
• Docker community wants the user experience to be right.
• It will land, just need to get it right
68. Cinder Volumes
Use cases:!
• Direct access to block device – not common.!
• Mounting file systems.!
- Possible security issues.!
- Different from VMs.!
- Privileged containers.!
- FUSE filesystem support through user namespaces.!
• PoC of boot from volume.