(open)stacking containers

15
Magnum & Kolla Ken Thompson Senior Cloud Solution Architect June 2015 (Open)Stacking Containers

Upload: ken-thompson

Post on 12-Aug-2015

125 views

Category:

Software


0 download

TRANSCRIPT

Magnum & Kolla

Ken ThompsonSenior Cloud Solution ArchitectJune 2015

(Open)Stacking Containers

(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

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

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

(Open)Stacking Containers15

KubernetesDeclarative container orchestration