Containers with OpenStack The good, the bad and the ugly Hieu LE - VietStack
Containers with OpenStackThe good, the bad and the ugly
Hieu LE - VietStack
/me
Hieu LEOpenStack ATC - Magnum and Nova committer [1]
Official Vietnam OpenStack Community Organizer
Marriage with distributed system, especially cloud and fog; but sleeping around with cruiser motorbikes, sometimes also dating with EDC and pipes. (with W.Ø Larsen and Dunhill 965).
/hieulq
[1]. http://stackalytics.com/?user_id=hieulq&metric=commits
2¢ for PR
Official OpenStack User Group in Vietnam. (12 official UG in total 105 approved UG)
3 year olds
2000 members with ~50 active members
Hold 11 meetup@Hanoi, Saigon
Took care national Vietnam IT OLP contest
Targets
Broadcast OpenStack appliances in Vietnam
Broadcast OpenStack and FOSS spirits
Connect devops geek interested in cloud
Consultant in cloud solutions.
@FB: vietopenstack
@Meetup: vietopenstack
@Github: vietstacker
“OpenStack is open source software for creating private and public clouds.
“
QUESTIONS:How we integrate OpenStack with container for providingX as a services?
“
“to provide massively scalable, on demand,
self service access to compute resources”
OpenStack Nova mission
http://docs.openstack.org/developer/nova/project_scope.html
Bare Metal Servers Containers Virtual Servers Driver Parity
Ironic Project ?Nova core (libvirt, xen…) and
nova sub-driver projects
8 OpenStack projectsRelated to containers, new 03 appeared in last year
70%OpenStack users interested in Containers.
Top 1 interested projectHail the Magnum!
April 2016 OpenStack User Survey
Container (Docker) ecosystem
Container Orchestration Engine (COE)
Container storage
flocker
Container networking
WEAVE
Manage
ProvideProvide
Distro
THE UGLYTHOUGHT THAT CONTAINER CAN BECOME ‘DRIVER’
1
Container (Docker) ecosystem
Container Orchestration Engine (COE)
Container storage
flocker
Container networking
WEAVE
Manage
ProvideProvide
DistroNova/Heat
VMs
Cinder/SwiftNova-network/Neutron
Nova-docker driverDocker virt driver for Nova
1. Introduced with Havana, live out-of-tree for Icehouse and Juno.2. Talk directly with docker-agent using HTTP API and using docker
image that exported to Glance.3. Nearly deprecated, there is only one maintainer for nova-docker
repo. [1]4. Lack of networking and storage integration with OpenStack.
Nova
Virt API
Docker virt driver
Glance
Docker
Container A
Container B
Docker-registry(container)
HTTPAPI
Docker Heat pluginDocker plugin for OpenStack Orchestration - HEAT
1. Talk directly with Docker via HTTP API.
2. Can use nova driver to spawn VM that host docker.
3. Do not involve glance here, Docker will pull the images stored in Docker registry.
Heat
Plugin API
DockerInc::Docker::Container Docker
Container A
Container B
Docker-registry(container)
HTTPAPI
Nova
THE GOODTHINK THAT CONTAINER NEED TO WALK BEHIND OPENSTACK
2
Container (Docker) ecosystem
Container Orchestration Engine (COE)
Container storage
flocker
Container networking
WEAVE
Manage
ProvideProvide
Distro
Magnum
Zun
Fuxi Kuryr
Kolla
Manage
Manage
Deploy OpenStack using container
KOLLAAll OpenStack services are deployed in container
■ Easy for deploy, manage and upgrade.
■ Some work around from TCPCloud show they can upgrade from Kilo to Liberty in 35s [1] deployed in Kubernetes. Integrating with Kubernetes is also a BP of Kolla.
[1]. https://twitter.com/epcim/status/740457714107703296
MAGNUMAbstract COE as bay-model
• Using Heat for orchestrating the deployment of Container on VM/bare-metal with Nova, Neutron, Glance and Ironic
• The output is cluster of COE nodes that user can use COE API and Docker API to interact with.
• Default come with LBaaS and Barbican (OpenStack security data service)
KURYRBring Neutron advance features into containers.
■ Currently, Magnum use neutron for VM network only. And containers are spawned on top of these VM.
■ Aim to integrate well with Magnum
ZUN■ New OpenStack project – launched after
OpenStack Summit in April 2016.•Fork from Magnum container management coverage.
•Aim for better replacement of legacy nova-docker.
•Same architect with Nova.
•Define abstraction API for manage container via COE or Docker native API.
•Currently in initial phase.
FUXI■ Newest OpenStack project
•Aim for providing Cinder/Swift features with native container. (as Kuryr is plugin for docker libnetwork)
•Currently in initial phase.
The picture
THE BADDiverse and complex!
3
DIVERSE- De-facto standard for Cloud?- De-facto standard for Container?
- Think about: 0.1 x 0.1 = 0.01
COMPLEX- Two layers of management: cloud
and container.
- What about user quota?- And how can we charge users?
“
CONCLUSION
Thanks!
ANY QUESTIONS?
Magnum- Support LBaaS- External LB with k8s- Support Cinder, Rexray as storage- Support Flannel- Only support deploy in CoreOS, Atomic