Presentation give at the Melbourne Docker Meetup on container related projects within OpenStack. Specifically looking at Project Magnum and Project Kolla and how they are leveraging technologies like Docker, Kubernetes and Atomic.
1. Magnum & Kolla
Ken Thompson
Senior Cloud Solution Architect
June 2015
(Open)Stacking Containers
2. (Open)Stacking Containers2
OPENSTACK 101
An open and scalable platform for building public and private clouds
NOVA NEUTRON GLANCECINDERSWIFT
● Modular architecture
● Designed to easily scale out
● API driven
● Based on a (growing) set of
core services:
● Nova – Compute
● Neutron – Networking
● Swift – Object Storage
● Cinder – Block Storage
● Glance – Image Store
● ...many more!
3. (Open)Stacking Containers3
PROJECT MAGNUM
Containers as an OpenStack Service
NOVA NEUTRON GLANCECINDERSWIFT
“An OpenStack API service to work with Nova, Heat, and
Keystone to allow multiple container technologies to be
used to offer containers on a variety of Nova instance
types (baremetal, vm, container).”MAGNUM
LIBS
APP
4. (Open)Stacking Containers4
MAGNUM OVERVIEW
Agnostic of container format and orchestration engine
Source:
● http://adrianotto.com/
● http://www.openstack.org/assets/vancouver-summit/slidedecks/Adrian-Otto-Magnum-
Making-Containers-a-First-Class-Resource-in-OpenStack.pdf
5. (Open)Stacking Containers5
PUTTING IT ALL TOGETHOR
Leveraging best of breed container technologies
CONTAINER FORMAT
WITH DOCKER
● Interface for
communications,
configuration, data
persistence, provisioning
● Lightweight
● Packaged dependencies
● Content & Infrastructure
agnostic
ORCHESTRATION WITH
KUBERNETES
● Orchestrate containers
at scale
● Define application
topologies
● Handle container
networking
● Manage container state
● Schedule across hosts
CONTAINER HOSTING
WITH ATOMIC
● Lightweight
● Atomic updates and
rollbacks
● Security & Isolation
(cgroups, namespaces,
selinux, svirt, selinux,
iptables etc)
● Provides portability across
systems
6. (Open)Stacking Containers6
PROJECT KOLLA
OpenStack Services as Containers
NOVA NEUTRON GLANCECINDERSWIFT
“The Kolla Project is part of the OpenStack TripleO effort, focussed
on deploying OpenStack services using Docker containers”
● Docker
● Docker Compose (previously using Kubernetes)
● Atomic
8. (Open)Stacking Containers8
Not so discrete services... with complex interdependencies, which complicates the
deployment and lifecycle of OpenStack environments
OPENSTACK IN REALITY
9. (Open)Stacking Containers9
HOW CONTAINERS HELP
Packaging OpenStack services with their runtime dependencies reduces
deployment and lifecycle complexities
● Easy to deploy and portable
across host systems
● Atomic roll-backs
● Faster boot times
● Isolates applications on a
host operating system
● In RHEL, this is done through:
● Control Groups (cgroups)
● Kernel namespaces
● SELinux, sVirt, iptables
● Docker
HOST OS
SERVER
CONTAINER
LIBS
APP
10. (Open)Stacking Containers10
COMMUNITIES & FURTHER INFO
Go forth, experiment & contribute!
https://launchpad.net/kolla
https://github.com/stackforge/kolla
https://github.com/projectatomic
https://github.com/googlecloudplatform/kubernetes
https://github.com/larsks/heat-kubernetes
http://Projectatomic.io
http://Kubernetes.io
http://www.openshift.org/
http://www.allthingsopen.com
https://launchpad.net/magnum
https://github.com/openstack/magnum
https://www.openstack.org/summit/vancouver-2015/summit-videos/
11. INSERT DESIGNATOR, IF NEEDED 11
THANK YOU
ken@redhat.com
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
13. (Open)Stacking Containers13
TRADITIONAL OS VS. CONTAINERS
Traditional OS Containers
HARDWARE
HOST OS
HARDWARE
HOST OS
CONTAINER
LIBS
NOVA
LIBS A LIBS B LIBS LIBS
NOVA
CONTAINER
LIBS
CINDER
Packaged dependencies = faster boot times + greater portability
CINDER
14. (Open)Stacking Containers14
Linux kernel
(cgroups, namespaces, SELinux,
devicemapper filesystem)
docker
atomic
Red Hat Enterprise Linux
Atomic Host
atomic
Systemd / journald
kubernetes
docker
atomic
Red Hat Enterprise Linux
Atomic Host
atomic
Systemd / journald
Linux kernel
(cgroups, namespaces, SELinux,
devicemapper filesystem)
Running linux containers requires an entire stack rooted in the Operating
System
RHEL ATOMIC HOST