(open)stacking containers
TRANSCRIPT
(Open)Stacking Containers2
OPENSTACK 101An 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 MAGNUMContainers 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 OVERVIEWAgnostic 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 TOGETHORLeveraging 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 KOLLAOpenStack 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 HELPPackaging 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 INFOGo 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 [email protected]
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
(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
NOVACONTAINER
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