1 of 30

A Container Stack for OpenStack

Scott McCarty (@fatherlinux)

Senior Principal Product Marketing Manager, Red Hat

Stephen Gordon (@xsgordon)

Principal Product Manager, Red Hat

Sebastien Han (@sebastien_han)

Principal Storage Architect, Red Hat

2 of 30

Why not just use OpenShift?

Why not just use OpenStack?

3 of 30

EXPOSITION & CONSUMPTION OF RESOURCES

4 of 30

Exposition of Resource

5 of 30

Consumption of Resource

6 of 30

Fancy Files

Fancy Processes

Also Fancy File Servers

7 of 30

Load Applications at the Factory, not the Dock

8 of 30

9 of 30

The Tenancy Scale

10 of 30

Application Containers

  1. Code: mysqld
  2. Configuration: /etc/my.cnf
  3. Data: /var/lib/mysql
  4. Other stuff :-)

11 of 30

Container Patterns

12 of 30

BETTER TOGETHER

13 of 30

OpenShift on OpenStack

Architectural tenets:

  • Technical independence
  • Avoiding redundancy
  • Contextual awareness
  • Simplified management

?

14 of 30

OpenShift on OpenStack - Current

  • Networking via Neutron networks.
  • Load Balancing via Neutron LBaaS V1
  • Block Storage via Cinder volumes.
  • Compute via Nova virtual machines.
  • Orchestration via Heat templates.
  • Reference architecture to be published “real soon now”

15 of 30

Use Case: Provisioning

  • Heat provides orchestration services for OpenStack clouds
  • Pre-provision OpenStack resources for tenant (networks, nodes, etc.).
  • Also used directly or via e.g. Magnum
  • Configure for access to network and storage
  • Register into Kubernetes cluster

16 of 30

Use Case: Networking

  • Tenant isolation via OpenStack SDN
  • Application isolation via container SDN
  • Environment separation and isolation

17 of 30

Use Case: Storage

  • Container hosts consume OpenStack storage
  • Tenant isolation
  • Application storage managed by Kubernetes
  • Stateful applications
  • Containerized distributed storage services

18 of 30

19 of 30

OpenShift on OpenStack - Future

  • Load Balancing via Octavia (LBaaS V2)
  • DNS via Designate
  • File Storage via Manila
  • Re-validate architecture on bare-metal using Ironic

20 of 30

CONTAINERIZING THE INFRASTRUCTURE

21 of 30

Why should you care?

Toward an unified and common tool for managing your platform, Kubernetes.

  • OpenStack is just another application on your container stack
  • Hypercon… what? Why was it difficult prior to containers?
  • Collocate compute and storage resources on the same machine
  • Fine control of resources using cgroups, NUMA and CPU pinning
  • Guest can potentially benefit from a local hit when performing IOs
  • Component upgrades made easy with containers

22 of 30

What is Ceph?

  • Open, massively-scalable, software-defined storage
  • Flexible, scale-out architecture on clustered commodity hardware
  • Unified storage platform
  • CRUSH algorithm to distribute data
  • Integrated, easy-to-use management console
  • Designed for cloud infrastructure and emerging workloads
  • Used by the majority of OpenStack deployments

23 of 30

Not supported yet

24 of 30

Hyperconverged Node In-depth

qemu-kvm

25 of 30

Introducing containerized work

OpenStack Kolla:

  • Runs OpenStack components in containers
  • Orchestration using Ansible
  • Prototype on Kubernetes (kolla-kubernetes project)

Ceph Docker:

  • Containerizes all Ceph daemons
  • Orchestration using Ansible
  • Prototype on Kubernetes

26 of 30

Tech previews

  • OpenStack Compute nodes tech preview since Red Hat OpenStack Platform 8
  • Red Hat Ceph Storage in containers since 1.3.2 and the new 2.0 release

27 of 30

KEY TAKE AWAYS

28 of 30

Free takeaways!

  • OpenShift enables developers to consume resources
  • OpenStack enables operations to expose resources
  • Containers simplify deployment of OpenStack, Ceph, OVS, etc.
  • OpenShift + OpenStack = Distributed Systems Operating System

29 of 30

30 of 30

Citations

Scott McCarty @fatherlinux Stephen Gordon @xsgordon Sebastien Han @sebastien_han