Magnum & Kolla
Ken Thompson
Senior Cloud Solution Architect
June 2015
(Open)Stacking Containers
(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!
(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
(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
(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
(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
(Open)Stacking Containers7
Discrete services, when combined providing private cloud capabilities
OPENSTACK IN THEORY
(Open)Stacking Containers8
Not so discrete services... with complex interdependencies, which complicates the
deployment and lifecycle of OpenStack environments
OPENSTACK IN REALITY
(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
(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/
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
INSERT DESIGNATOR, IF NEEDED 12
APPENDIX
(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
(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
(Open)Stacking Containers15
Kubernetes
Declarative container orchestration

(Open)Stacking Containers

  • 1.
    Magnum & Kolla KenThompson Senior Cloud Solution Architect June 2015 (Open)Stacking Containers
  • 2.
    (Open)Stacking Containers2 OPENSTACK 101 Anopen 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 Containersas 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 Agnosticof 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 ITALL 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 OpenStackServices 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
  • 7.
    (Open)Stacking Containers7 Discrete services,when combined providing private cloud capabilities OPENSTACK IN THEORY
  • 8.
    (Open)Stacking Containers8 Not sodiscrete services... with complex interdependencies, which complicates the deployment and lifecycle of OpenStack environments OPENSTACK IN REALITY
  • 9.
    (Open)Stacking Containers9 HOW CONTAINERSHELP 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, IFNEEDED 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
  • 12.
    INSERT DESIGNATOR, IFNEEDED 12 APPENDIX
  • 13.
    (Open)Stacking Containers13 TRADITIONAL OSVS. 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
  • 15.