OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

of 10 /10
OpenStack and Containers Will They Blend? A Prequel

Transcript of OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

Page 1: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

OpenStack and ContainersWill They Blend? A Prequel

Page 2: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

Who Am I?

John Starmer: @john_starmer

• Director of Education, Kumulus Technologies

• OpenStack educator since 2013

• Evolutionary / Marine Biologist

Kumulus Technologies: @kumulustech

• Systems consultants supporting cloud migration, integration, education

• Kumulus Tech Newsletter: https://kumul.us/newsletter/ • Five Minutes of Cloud: youtube.com/fiveminutesofcloud

© 2016@john_starmer

Page 3: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

ComputeIronic

Kubernetes

Docker

Mesos

ContainersMagnum

BareMetalServers

ContainerOrchestration

VirtualServers

How OpenStack Initially Thought About Containers

ComputeNova

© 2016@john_starmer

Page 4: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

bin/lib bin/lib

Hardware

APP1

OS1

Hypervisor

APP2

OS2

APP3

OS3

Host Operating System

bin/libbin/libbin/lib

Virtual Server

Hardware

APP

bin/lib

Container Engine

APP

bin/lib

APP

bin/lib

Host Operating System

Container

bin/libbin/lib

Hardware

APP1 APP3

Host Operating System

bin/lib bin/lib

APP2

bin/lib Bare Metal Server

• But let’s not simply assume that is the best option. • VM != Container != Bare Metal• Which is most appropriate for your (users) use case?• In the end we are trying to run applications.

© 2016@john_starmer

Why are we all here Anyway?

Page 5: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

What if the application _is_ OpenStack?

© 2016@john_starmer

Microservices: “Small autonomous services that work together – independent processes communicating over APIs, focused on one thing, and doing one thing well (and) that allow for independent change.” – Sam Newman

Page 6: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

OpenStack Operational Requirements

As a distributed application-

1)Reliable Interface - Load Balancer

2)Means to manage processes - Start/Stop/Restart

3)Change Management - Code changes - Scoped services

© 2016@john_starmer

Page 7: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

Containers - Why are They Good for Applications?

• Resource bundling - limits scope

• Embedded process management – (container is either up or down - so is the app)

• Upgrades - Container is the upgrade/downgrade unit - scoped change

• …. but what about the need for persistent schema (e.g. Databases)

© 2016@john_starmer Hardware

APP

bin/lib

Container Engine

APP

bin/lib

APP

bin/lib

Host Operating System

Page 8: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

Container Operating Environment

Container Cluster Management needs:

1) Reliable Interface via a Load Balancer

2) Means to manage processes - Start/Stop/Restart

3) Scheduling - when and where containers run.

4) Change Management - Provide means to provide scope/ app segregation

Can do this manually

Automated/service options

5) … Persistent storage -- integration with higher level storage services.

Containers could be the answer. So let’s containerize OpenStack services... Now how do we manage the containers?

© 2016@john_starmer

Page 9: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

Kubernetes running OpenStack Containers

Kubernetes provides:

1)Load Balancing integration

2)Segregation and Process Management - (Pods - process and service level)

3)Replication Control - Change management.

4)Deployment – Makes sure defined replicas are running.

© 2016@john_starmer

Page 10: OpenStack and Containers - Will they blend? A prequel. SF Bay OpenStack Meetup

Kubernetes with OpenStack Containers

Master

API Server

Replication Controller

Minion 1

Kubelet

Containers

Minion 2

Kubelet

Containers

Minion 3

Kubelet

Containers

etc daemon

Scheduler