SlideShare a Scribd company logo
Managing Container
Clusters in OpenStack
Native Way
OTSUKA, Motohiro/Yuanying
NEC Solution Innovators
OpenStack Magnum Core Reviewer
Haiwei Xu
NEC Solution Innovators
OpenStack Senlin Core Reviewer
Qiming Teng
IBM, Research Scientist
OpenStack Senlin PTL, OpenStack Heat Core Reviewer
Agenda
• Why containers if you already have OpenStack
• What are the use cases?
• The many roads leading to Roma
• Container as first-class citizens on OpenStack
• Deployment and management
• Technology Gaps
• Experience Sharing and Outlook
• What we can do today
• Things to expect in Newton cycle
Why Containers, If You Already Have OpenStack
Photographer: Captain Albert E. Theberge, NOAA Corps (ret.)
from http://www.photolib.noaa.gov/coastline/line3174.htm
X-ray: NASA/CXC/RIKEN/D.Takei et al; Optical: NASA/STScI; Radio: NRAO/VLA
from http://www.nasa.gov/sites/default/files/thumbnails/image/gkper.jpg
Advantages of container technology
Server
Host OS
Hypervisor
Guest OS
libs / bins
Application
Guest OS
libs / bins
Application
Server
Host OS
libs / bins
Application
libs / bins
Application
Virtual Machine Container
Container Image
libs / bins
Application
Container Image
libs / bins
Application
Advantages of container technology
Server A
Host OS
Container Image
libs / bins
Application
Container Image
Server B
Host OS
libs / bins
Application
Dockerfile
Docker Registry
Development Production
Version managiment
Advantages of container technology
Major Use Cases
• For application/service users
• IF self-serviced THEN
deploy/launch; simple configuration
ENDIF
• go...
• For application developers
• Develop, Commit, Test
• Build, Deploy, Push
• Pull, Patch, Push
• For cloud deployers/operators
• Build Infrastructure
• Install, Configure, Upgrade
• Monitor, Fix, Bill, 
All Roads Lead to Roma
• How many roads do we have?
• nova lxc
• nova docker
• heat docker
• heat deployment
• magnum bay
• docker swarm
• kubernetes
• mesos
• marathon, ...
• openstack ansible
• kolla
• kolla-mesos
• .....
Nova: Docker / LXC
Ironic
Bare
Metal
Bare
Metal
VM VM VM
VM VM VM
Docker/LXC
???
Virtualization Bare metal Container
VM VM VM
VM VM VM
VM VM VM
VM VM VM
libvirt VMware Xen
Nova
driver
nova-docker virt driver
LXC (libvirt) driver
Heat: Docker / Deployment
Heat
tcp://$FLOATING_IP:2375
DockerInc::Docker::Container
Heat
OS::Heat::StructuredConfig
group: docker-compose
heat-config-
docker-
compose
unix:///var/run/docker.sock
Magnum: Kubernetes / Swarm
• Container Orchestration Engine (COE) as a Service
Tenant
Bay (Kubernetes Type)
Kubernetes
Master
Kubernetes
Minion 1
Kubernetes
Minion 2
Service
Pod Pod
Replication
Controller Pod
ContainerContainer ContainerContainer ContainerContainer
Bay (Swarm Type)
Swarm
Master Docker Node 2
ContainerContainerContainerContainer
ContainerContainerContainerContainer
ContainerContainerContainerContainer
ContainerContainerContainerContainer
Docker Node 1
ContainerContainerContainerContainer
ContainerContainerContainerContainer
ContainerContainerContainerContainer
ContainerContainerContainerContainer
Magnum
Kubernetes Type
Baymodel
image: fedora-atomic
keypair: my_public_key
external-network: $NIC_ID
dns-nameserver: 8.8.8.8
flavor: baremetal
type-of-bay: kubernetes
Swarm Type
Baymodel
image: fedora-atomic
keypair: my_public_key
external-network: $NIC_ID
dns-nameserver: 8.8.8.8
flavor: baremetal
type-of-bay: swarm
Kolla: Ansible + Container = OpenStack
• OpenStack as a Service
nova-api
neutron-server
cinder-api
neutron-agent nova-compute cinder-volume
Then the next question is: How?
• Unified API?
• Refer to mailinglist discussion
• http://lists.openstack.org/pipermail/openstack-dev/2016-April/091947.html
• Unified Abstraction?
• OpenStack Container API ?
• https://blueprints.launchpad.net/magnum/+spec/unified-containers
• Kubernetes Driver
• Docker Swarm Driver
Containers as First-Class Citizens on OpenStack
Balancing across the abstraction layer
• Container as another compute API?
• maybe pm, vm, lwVM
• so many backends
• An abstraction over all existing container management
software?
• it is possible, but many questions to be answered, e.g. why?
• do you really need to switch between these software frequently?
• are you willing to develop a client software to interact with all of them?
• So ... container clustering
• better integration with OpenStack
• ease of use
OpenStack Clustering Service
Scalable
Load-Balanced
Highly-Available
Manageable
......
of any (OpenStack) objects
- What is missing from
OpenStack?
A Clustering Service
- Auto-scaling?
Just one of the usage
scenario of a cluster.
- Auto-Healing (HA)?
Just another usage scenario.
- We can address the
concerns by making policies
orthogonal
Senlin Architecture
Senlin Engine
Senlin
API
Senlin
Database
Senlin
Client
REST RPC
Profiles
Policies
Senlin Features
• Profiles: A specification for the objects to be managed
• Policies: Rules to be checked/enforced before/after actions are performed
21
(others)
Senlin
Nova
Docker
Heat
Ironic BareMetal
VMs
Stacks
Containers
placement
deletion
scaling
health
load-balance
affinity
Policies as Plugins Profiles as Plugins Cluster/Nodes Managed
Senlin Server Architecture
openstacksdk
identity
compute
orchestration
network
...
engineengine lock
scheduler
actions
nodecluster
service
registry
receiverparser
drivers
openstack
dummy
(others)
dbapi
rpc client
policies
placement
deletion
scaling
health
load-balance
affinity
receiver
webhoook
MsgQueue
extension points
for external
monitoring
services
extension points
facilitating a
smarter cluster
management
extension points to talk to different
endpoints for object CRUD operations
extension points for interfacing
with different services or clouds
profiles
os.heat.stack
(others)
os.nova.server
senlin-api
WSGI
middleware
apiv1
Senlin Server Architecture (for containers)
engineengine lock
scheduler
actions
nodecluster
service
registry
receiverparser
drivers
docker-py
dummy
lxc
dbapi
rpc client
policies
placement
deletion
scaling
health
load-balance
affinity
receiver
webhoook
MsgQueue
extension points
for external
monitoring
services
extension points
facilitating a
smarter cluster
management
extension points to talk to different
endpoints for object CRUD operations
extension points for interfacing
with different services or clouds
profiles
container.docker
(others)
container.lxc
senlin-api
WSGI
middleware
apiv1
Targeted Use Cases: Auto-Scaling
VM1 VM2 VM3
C1-1 C1-2 C1-3C2-1 C2-2 C3-1 C3-2
VM4
C3-3
VM Cluster
Node Node Node Node
Container Cluster
Node Node Node
Container Cluster
Node Node
Container Cluster
Node Node Node
Senlin
Targeted Use Cases: Auto-Healing
VM1 VM2 VM3
C1-1 C1-2 C1-3C2-1 C2-2 C3-1 C3-2
VM4
C3-3
VM Cluster
Node Node Node Node
Container Cluster
Node Node Node
Container Cluster
Node Node
Container Cluster
Node Node Node
C3-2 C1-3
Senlin
Targeted Use Cases: Controller Plane
VM/Baremetal VM2 / Baremetal
key keyn-api n-api g-api
Container Cluster
Node Node
Container Cluster
Node Node
Monitoring
(Consul,
Sensu, ... )
Senlin
webhook /
message
What can we do today & How to do it?
Container type profile
type: container.docker
version: 1.0
properties:
name: container1
image: hello-world
command: ‘/bin/sleep 30’
networks:
- network: container-network
……
…
Nova server type profile spec
type: os.nova.server
version: 1.0
properties:
name: cirros_server
image: “cirros-0.3.4-x86_64-uec”
flavor: m1.small
key_name: oskey
networks:
- network: private-network
Container node and container cluster
node
Heat stack
Nova server
Profile type
Container
Nova server
Heat stack
Container
Nova server
Template for Heat Heat stack
container
cluster
Template for container
Template for Nova
Nova serverNova server
Heat stackHeat stack
containercontainer
How to create a container cluster?
container profile
cluster1
vm server
vm server
vm server
cluster1
container
vm
vm
container
container
vm
cluster2
container
container
container
container
container
The scalability of vm cluster and container cluster
cluster1
container
vm
container
vm
cluster2
container
container
user
Placement policy
Deletion policy
Scaling policy
Placement policy
Deletion policy
Scaling policy
vm
container container
Demo
Outlook
Container Backends
• lxc, lxd, docker, rocket, runC, ...
• docker
• Docker-py
Container scheduling
• Senlin placement policy
• Start container on specified some nodes
• Make the policy more intelligent
• Dynamic rescheduling?
Networking support
• Kuryr
• others?
Storage support
• Kuryr
• Rexray
• flocker
Welcome to join us!
• IRC: #senlin
• Weekly meeting from UTC 13:00~14:00, Tuesday
Thank you

More Related Content

What's hot (20)

PPTX
Kubernetes 101
Jupil Hwang
 
PPTX
Challenges of Kubernetes On-premise Deployment
Vietnam Open Infrastructure User Group
 
PDF
The Operator Pattern - Managing Stateful Services in Kubernetes
QAware GmbH
 
PDF
[Spark Summit 2017 NA] Apache Spark on Kubernetes
Timothy Chen
 
PDF
How to integrate Kubernetes in OpenStack: You need to know these project
inwin stack
 
PDF
Running and Managing Kubernetes on OpenStack
Victor Palma
 
PPTX
Kubernetes - State of the Union (Q1-2016)
DoiT International
 
PDF
[GS네오텍] Google Kubernetes Engine
GS Neotek
 
PDF
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
confluent
 
PPTX
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Vietnam Open Infrastructure User Group
 
PDF
Kubernetes "Ubernetes" Cluster Federation by Quinton Hoole (Google, Inc) Huaw...
Quinton Hoole
 
PPTX
Stateful set in kubernetes implementation & usecases
Krishna-Kumar
 
PPTX
Istio canaries and kubernetes
Red Hat Developers
 
PDF
OpenStack on Kubernetes (BOS Summit / May 2017 update)
rhirschfeld
 
PPTX
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
PDF
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
smalltown
 
PPTX
Implement Advanced Scheduling Techniques in Kubernetes
Kublr
 
PPTX
Kubernetes service with ha
Sam Zheng
 
PDF
K8s cluster autoscaler
k8s study
 
PPTX
Advanced Scheduling in Kubernetes
Kublr
 
Kubernetes 101
Jupil Hwang
 
Challenges of Kubernetes On-premise Deployment
Vietnam Open Infrastructure User Group
 
The Operator Pattern - Managing Stateful Services in Kubernetes
QAware GmbH
 
[Spark Summit 2017 NA] Apache Spark on Kubernetes
Timothy Chen
 
How to integrate Kubernetes in OpenStack: You need to know these project
inwin stack
 
Running and Managing Kubernetes on OpenStack
Victor Palma
 
Kubernetes - State of the Union (Q1-2016)
DoiT International
 
[GS네오텍] Google Kubernetes Engine
GS Neotek
 
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
confluent
 
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Vietnam Open Infrastructure User Group
 
Kubernetes "Ubernetes" Cluster Federation by Quinton Hoole (Google, Inc) Huaw...
Quinton Hoole
 
Stateful set in kubernetes implementation & usecases
Krishna-Kumar
 
Istio canaries and kubernetes
Red Hat Developers
 
OpenStack on Kubernetes (BOS Summit / May 2017 update)
rhirschfeld
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
smalltown
 
Implement Advanced Scheduling Techniques in Kubernetes
Kublr
 
Kubernetes service with ha
Sam Zheng
 
K8s cluster autoscaler
k8s study
 
Advanced Scheduling in Kubernetes
Kublr
 

Similar to Managing Container Clusters in OpenStack Native Way (20)

PDF
Orchestrating Docker with OpenStack
Erica Windisch
 
PPTX
Cloud nativeday duane (final)
DuaneDeC7
 
PDF
Container Orchestration Integration: OpenStack Kuryr & Apache Mesos
MidoNet
 
PDF
Container Orchestration Integration: OpenStack Kuryr
Taku Fukushima
 
PPTX
Containers #101 Meetup: Containers and OpenStack
Codefresh
 
PPTX
Containers and OpenStack: Marc Van Hoof, Kumulus: Containers and OpenStack
OpenStack
 
PPTX
Containers #101 Meetup: Containers & OpenStack
Brittany Ingram
 
PDF
Dockerizing OpenStack for High Availability
Daniel Krook
 
PPTX
Understanding the container landscape and it associated projects
Anthony Chow
 
PPTX
The Rise of the Container: The Dev/Ops Technology That Accelerates Ops/Dev
Robert Starmer
 
PDF
presentation @ docker meetup
Daniël van Gils
 
PDF
Docker and Containers for Development and Deployment — SCALE12X
Jérôme Petazzoni
 
PPTX
Pairs OpenStack Summit Summary
Guangya Liu
 
PDF
Containers, Docker, and Microservices: the Terrific Trio
Jérôme Petazzoni
 
PPTX
Private Cloud with Open Stack, Docker
Davinder Kohli
 
PPTX
The container revolution, and what it means to operators open stack southba...
Robert Starmer
 
PDF
Docker Application to Scientific Computing
Peter Bryzgalov
 
PPTX
Docker 101 - all about Docker containers
Ian Lumb
 
PDF
Container orchestration
Timo Derstappen
 
PDF
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
Erica Windisch
 
Orchestrating Docker with OpenStack
Erica Windisch
 
Cloud nativeday duane (final)
DuaneDeC7
 
Container Orchestration Integration: OpenStack Kuryr & Apache Mesos
MidoNet
 
Container Orchestration Integration: OpenStack Kuryr
Taku Fukushima
 
Containers #101 Meetup: Containers and OpenStack
Codefresh
 
Containers and OpenStack: Marc Van Hoof, Kumulus: Containers and OpenStack
OpenStack
 
Containers #101 Meetup: Containers & OpenStack
Brittany Ingram
 
Dockerizing OpenStack for High Availability
Daniel Krook
 
Understanding the container landscape and it associated projects
Anthony Chow
 
The Rise of the Container: The Dev/Ops Technology That Accelerates Ops/Dev
Robert Starmer
 
presentation @ docker meetup
Daniël van Gils
 
Docker and Containers for Development and Deployment — SCALE12X
Jérôme Petazzoni
 
Pairs OpenStack Summit Summary
Guangya Liu
 
Containers, Docker, and Microservices: the Terrific Trio
Jérôme Petazzoni
 
Private Cloud with Open Stack, Docker
Davinder Kohli
 
The container revolution, and what it means to operators open stack southba...
Robert Starmer
 
Docker Application to Scientific Computing
Peter Bryzgalov
 
Docker 101 - all about Docker containers
Ian Lumb
 
Container orchestration
Timo Derstappen
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
Erica Windisch
 
Ad

More from Qiming Teng (6)

PPTX
202203-技术沙龙-k8s-v1.pptx
Qiming Teng
 
PDF
VM HA and Cross-Region Scaling
Qiming Teng
 
PDF
Suning OpenStack Cloud and Heat
Qiming Teng
 
PDF
High Availability in OpenStack Cloud
Qiming Teng
 
PPTX
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
Qiming Teng
 
PPTX
Senlin deep dive 2015 05-20
Qiming Teng
 
202203-技术沙龙-k8s-v1.pptx
Qiming Teng
 
VM HA and Cross-Region Scaling
Qiming Teng
 
Suning OpenStack Cloud and Heat
Qiming Teng
 
High Availability in OpenStack Cloud
Qiming Teng
 
Deploy an Elastic, Resilient, Load-Balanced Cluster in 5 Minutes with Senlin
Qiming Teng
 
Senlin deep dive 2015 05-20
Qiming Teng
 
Ad

Recently uploaded (20)

PDF
Deploy Faster, Run Smarter: Learn Containers with QNAP
QNAP Marketing
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PDF
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
PPTX
Practical Applications of AI in Local Government
OnBoard
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
PDF
Next Generation AI: Anticipatory Intelligence, Forecasting Inflection Points ...
dleka294658677
 
PDF
Introducing and Operating FME Flow for Kubernetes in a Large Enterprise: Expe...
Safe Software
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
PPTX
Wondershare Filmora Crack Free Download 2025
josanj305
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
Deploy Faster, Run Smarter: Learn Containers with QNAP
QNAP Marketing
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
Practical Applications of AI in Local Government
OnBoard
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
Next Generation AI: Anticipatory Intelligence, Forecasting Inflection Points ...
dleka294658677
 
Introducing and Operating FME Flow for Kubernetes in a Large Enterprise: Expe...
Safe Software
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
Wondershare Filmora Crack Free Download 2025
josanj305
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 

Managing Container Clusters in OpenStack Native Way

  • 1. Managing Container Clusters in OpenStack Native Way
  • 2. OTSUKA, Motohiro/Yuanying NEC Solution Innovators OpenStack Magnum Core Reviewer Haiwei Xu NEC Solution Innovators OpenStack Senlin Core Reviewer Qiming Teng IBM, Research Scientist OpenStack Senlin PTL, OpenStack Heat Core Reviewer
  • 3. Agenda • Why containers if you already have OpenStack • What are the use cases? • The many roads leading to Roma • Container as first-class citizens on OpenStack • Deployment and management • Technology Gaps • Experience Sharing and Outlook • What we can do today • Things to expect in Newton cycle
  • 4. Why Containers, If You Already Have OpenStack
  • 5. Photographer: Captain Albert E. Theberge, NOAA Corps (ret.) from http://www.photolib.noaa.gov/coastline/line3174.htm
  • 6. X-ray: NASA/CXC/RIKEN/D.Takei et al; Optical: NASA/STScI; Radio: NRAO/VLA from http://www.nasa.gov/sites/default/files/thumbnails/image/gkper.jpg
  • 7. Advantages of container technology Server Host OS Hypervisor Guest OS libs / bins Application Guest OS libs / bins Application Server Host OS libs / bins Application libs / bins Application Virtual Machine Container
  • 8. Container Image libs / bins Application Container Image libs / bins Application Advantages of container technology Server A Host OS Container Image libs / bins Application Container Image Server B Host OS libs / bins Application Dockerfile Docker Registry Development Production Version managiment
  • 10. Major Use Cases • For application/service users • IF self-serviced THEN deploy/launch; simple configuration ENDIF • go... • For application developers • Develop, Commit, Test • Build, Deploy, Push • Pull, Patch, Push • For cloud deployers/operators • Build Infrastructure • Install, Configure, Upgrade • Monitor, Fix, Bill, 
  • 11. All Roads Lead to Roma • How many roads do we have? • nova lxc • nova docker • heat docker • heat deployment • magnum bay • docker swarm • kubernetes • mesos • marathon, ... • openstack ansible • kolla • kolla-mesos • .....
  • 12. Nova: Docker / LXC Ironic Bare Metal Bare Metal VM VM VM VM VM VM Docker/LXC ??? Virtualization Bare metal Container VM VM VM VM VM VM VM VM VM VM VM VM libvirt VMware Xen Nova driver nova-docker virt driver LXC (libvirt) driver
  • 13. Heat: Docker / Deployment Heat tcp://$FLOATING_IP:2375 DockerInc::Docker::Container Heat OS::Heat::StructuredConfig group: docker-compose heat-config- docker- compose unix:///var/run/docker.sock
  • 14. Magnum: Kubernetes / Swarm • Container Orchestration Engine (COE) as a Service Tenant Bay (Kubernetes Type) Kubernetes Master Kubernetes Minion 1 Kubernetes Minion 2 Service Pod Pod Replication Controller Pod ContainerContainer ContainerContainer ContainerContainer Bay (Swarm Type) Swarm Master Docker Node 2 ContainerContainerContainerContainer ContainerContainerContainerContainer ContainerContainerContainerContainer ContainerContainerContainerContainer Docker Node 1 ContainerContainerContainerContainer ContainerContainerContainerContainer ContainerContainerContainerContainer ContainerContainerContainerContainer Magnum Kubernetes Type Baymodel image: fedora-atomic keypair: my_public_key external-network: $NIC_ID dns-nameserver: 8.8.8.8 flavor: baremetal type-of-bay: kubernetes Swarm Type Baymodel image: fedora-atomic keypair: my_public_key external-network: $NIC_ID dns-nameserver: 8.8.8.8 flavor: baremetal type-of-bay: swarm
  • 15. Kolla: Ansible + Container = OpenStack • OpenStack as a Service nova-api neutron-server cinder-api neutron-agent nova-compute cinder-volume
  • 16. Then the next question is: How? • Unified API? • Refer to mailinglist discussion • http://lists.openstack.org/pipermail/openstack-dev/2016-April/091947.html • Unified Abstraction? • OpenStack Container API ? • https://blueprints.launchpad.net/magnum/+spec/unified-containers • Kubernetes Driver • Docker Swarm Driver
  • 17. Containers as First-Class Citizens on OpenStack
  • 18. Balancing across the abstraction layer • Container as another compute API? • maybe pm, vm, lwVM • so many backends • An abstraction over all existing container management software? • it is possible, but many questions to be answered, e.g. why? • do you really need to switch between these software frequently? • are you willing to develop a client software to interact with all of them? • So ... container clustering • better integration with OpenStack • ease of use
  • 19. OpenStack Clustering Service Scalable Load-Balanced Highly-Available Manageable ...... of any (OpenStack) objects - What is missing from OpenStack? A Clustering Service - Auto-scaling? Just one of the usage scenario of a cluster. - Auto-Healing (HA)? Just another usage scenario. - We can address the concerns by making policies orthogonal
  • 21. Senlin Features • Profiles: A specification for the objects to be managed • Policies: Rules to be checked/enforced before/after actions are performed 21 (others) Senlin Nova Docker Heat Ironic BareMetal VMs Stacks Containers placement deletion scaling health load-balance affinity Policies as Plugins Profiles as Plugins Cluster/Nodes Managed
  • 22. Senlin Server Architecture openstacksdk identity compute orchestration network ... engineengine lock scheduler actions nodecluster service registry receiverparser drivers openstack dummy (others) dbapi rpc client policies placement deletion scaling health load-balance affinity receiver webhoook MsgQueue extension points for external monitoring services extension points facilitating a smarter cluster management extension points to talk to different endpoints for object CRUD operations extension points for interfacing with different services or clouds profiles os.heat.stack (others) os.nova.server senlin-api WSGI middleware apiv1
  • 23. Senlin Server Architecture (for containers) engineengine lock scheduler actions nodecluster service registry receiverparser drivers docker-py dummy lxc dbapi rpc client policies placement deletion scaling health load-balance affinity receiver webhoook MsgQueue extension points for external monitoring services extension points facilitating a smarter cluster management extension points to talk to different endpoints for object CRUD operations extension points for interfacing with different services or clouds profiles container.docker (others) container.lxc senlin-api WSGI middleware apiv1
  • 24. Targeted Use Cases: Auto-Scaling VM1 VM2 VM3 C1-1 C1-2 C1-3C2-1 C2-2 C3-1 C3-2 VM4 C3-3 VM Cluster Node Node Node Node Container Cluster Node Node Node Container Cluster Node Node Container Cluster Node Node Node Senlin
  • 25. Targeted Use Cases: Auto-Healing VM1 VM2 VM3 C1-1 C1-2 C1-3C2-1 C2-2 C3-1 C3-2 VM4 C3-3 VM Cluster Node Node Node Node Container Cluster Node Node Node Container Cluster Node Node Container Cluster Node Node Node C3-2 C1-3 Senlin
  • 26. Targeted Use Cases: Controller Plane VM/Baremetal VM2 / Baremetal key keyn-api n-api g-api Container Cluster Node Node Container Cluster Node Node Monitoring (Consul, Sensu, ... ) Senlin webhook / message
  • 27. What can we do today & How to do it?
  • 28. Container type profile type: container.docker version: 1.0 properties: name: container1 image: hello-world command: ‘/bin/sleep 30’ networks: - network: container-network …… … Nova server type profile spec type: os.nova.server version: 1.0 properties: name: cirros_server image: “cirros-0.3.4-x86_64-uec” flavor: m1.small key_name: oskey networks: - network: private-network
  • 29. Container node and container cluster node Heat stack Nova server Profile type Container Nova server Heat stack Container Nova server Template for Heat Heat stack container cluster Template for container Template for Nova Nova serverNova server Heat stackHeat stack containercontainer
  • 30. How to create a container cluster? container profile cluster1 vm server vm server vm server cluster1 container vm vm container container vm cluster2 container container container container container
  • 31. The scalability of vm cluster and container cluster cluster1 container vm container vm cluster2 container container user Placement policy Deletion policy Scaling policy Placement policy Deletion policy Scaling policy vm container container
  • 32. Demo
  • 34. Container Backends • lxc, lxd, docker, rocket, runC, ... • docker • Docker-py Container scheduling • Senlin placement policy • Start container on specified some nodes • Make the policy more intelligent • Dynamic rescheduling?
  • 35. Networking support • Kuryr • others? Storage support • Kuryr • Rexray • flocker
  • 36. Welcome to join us! • IRC: #senlin • Weekly meeting from UTC 13:00~14:00, Tuesday

Editor's Notes

  • #5: The section which I will talk is “Why Containers, If you already have OpenStack.”
  • #6: Container is a type of virtualization technology, and we can use it as computing resource. But computing resource?
  • #7: OpenStack already has the Nova, which is an abstraction layoer of computing resource.
  • #8: Basically Nova handles virtual machine, and Nova provides abstraction layer for managing virtual machine. So if container is a type of virtual machine, “Why Containers, If you already have OpenStack.” This diagram shows the difference between virtual machine and container model. Left side is a traditional virtual machine model. And right side is a container model. Virtual machine requires a hypervisor which emulate and translate the hardware, and has its own OS. Container provide isolation for processes sharing compute resources. They are similar to virtualized machine but share the host kernel and avoid hardware emulation. So you can use a Host resources more effectively than Virtual machine. Soin this case, you can use container like a virtual machine, It means that nova can manage containers.
  • #9: In addition, Docker provides a simple tools and eco system for container which makes container technology become very polular . You can create container image easily using Dockerfile. You can share container image using docker registry, Container Image has all the additional dependencies that application need, above what is provided by host. You can move application from host to host easily.
  • #10: Futthermore container scalability and elasticity are much better than virtual machine, and thanks to some managiment tools like kubernetes and docke swarm, managiment of containers between defferent host become much easier. So OpenStack needs this technology to make cloud managiment easiler.
  • #11: This slide show major use cases of container technology. The first one is for application users, who only want the application to be started quickly, The don’t care how the application is started. For the application developers, they care about application lifecycles, version managiment and portablicty. And for cloud operators they care about how to manage infrastructure effectively, how to upgrade the system and so on.
  • #12: Let’s see what container technology exists in OpenStack. we have nova lxc, docker and magnum so many projects supporting container technlogy.
  • #13: For example, Nova has lxc driver and docker driver which provides same interface with virtual machine. User can start container like virtual machine. This model doesn’t support all the advantage of container technology, But this can meet the application user’s needs who just want to deploy application quickly.
  • #14: Next heat. Heat has two way to manage cotainer. One is Docker::Container resource, and the other is SoftwareConfig or StructuredConfig Resource. This can also meet the application user’s needs but it has limitaion of managing the containers after they are created.
  • #15: And the next is magnum. Magnum is a container orchestration engine as a service which deploy and manage COE. When magnum deploy the COE, user can use all of the advantage of container technology through it’s COE specific tools such as kubectl or docker cli. This can meet the developer and operator use cases. But you must manage containers without an OpenStack native way.
  • #16: Next one is Kolla. Kolla is a OpenStack as a Service. which uses container technology to make managiment openstack easier. This is one caese of operator’s usecases. this is just use a containers but not a way to manage containers itself.
  • #17: So in order to manage container well in OpenStack, we need to find the new solution. But we have a some problem to solve it. The commuty has disscussed a lot about this issues. Create an unified api which can support vm, baremetal and containers? But the usecase of vm and conrainer are different so we can’t provider unified API. next issue is how create an unified abstraction api for container orchestration engine? This also have same problem which is a difference between kuber But we can’t get an agreement on it.
  • #29: As introduced previously Senlin is a project which provides clustering service, currently it only supports vm cluster. When supports container clustering, Senlin will do it in the similar way of vm clustering. So at first, we need a new type profile – a container type profile. In the profile we will define some properties which will be used to create containers. All necessary properties can be defined in this profile. The format is similar to Nova server format.
  • #30: With the profile , we can create container nodes and container clusters, When create containers, we need host vms, and the host vms are also managed by Senlin.So Senlin can manage both vm layer and container layer.
  • #31: This is the workflow of creating container cluster. We can create multiple containers in one vm depending on the vm resource. We can see physically containers are running on vms, but logically the container cluster(cluster2) and the vm cluster(cluster1) are separated clusters, Senlin can manage them separately. That means to end uses who just want containers, they may just see the container cluster.
  • #32: Lets see how to manage the resources. The scalability control is the advantage of Senlin. When we have a vm cluster and container cluster, sometime the resource is not enough, it need to scale out. Senlin invents policies to tell the cluster how to scale out/scale in. As we see the policies are attached to the cluster. When the resource is not enough, we got an alarm from the ceilometer, the policy will be triggered. Then it will tell the vm cluster to create a vm, after that the scaling policy attached to the container cluster will be triggered, then a new container will be created. This is the scale out model, of course when the resources are idle, some vm/containers will be deleted. This is the way how senlin control cluster scalability.
  • #35: About the design for container cluster, we still have some issues to think about. Everyone has its own advantage. When starting a container we need to determine starting it on which cluster which node. So do we need a scheduler to do this job. In senlin we have a placement policy, in the policy we can define where to start to nodes, it is a kind of scheduler, but very simple one, it’s not smart enough, we still need to improve it to meet our needs. Anyway it is a solution of this issue.
  • #36: So we hope we can use Kuryr to create container network automatically just like we create vm network.
  • #37: After all about container cluster support in senlin, we have had some discussions and have made some agreements on some issues. But we still want to hear more voices from the community, we need your ideas, your suggestions and also new hands, so please join us if you are interested in this job. You can find us on IRC senin channel and can also join our weekly meeting, any ideas are appreciated.