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

PDF
Autoscaling with magnum and senlin
PDF
Senlin deep dive 2016
PPTX
Exploring Magnum and Senlin integration for autoscaling containers
PDF
Autoscaling Kubernetes
PDF
Kubernetes 101
PDF
2016 08-30 Kubernetes talk for Waterloo DevOps
PDF
Openstack Summit Container Day Keynote
PDF
What's new in Kubernetes
Autoscaling with magnum and senlin
Senlin deep dive 2016
Exploring Magnum and Senlin integration for autoscaling containers
Autoscaling Kubernetes
Kubernetes 101
2016 08-30 Kubernetes talk for Waterloo DevOps
Openstack Summit Container Day Keynote
What's new in Kubernetes

What's hot (20)

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

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

PDF
Orchestrating Docker with OpenStack
PPTX
Cloud nativeday duane (final)
PDF
Container Orchestration Integration: OpenStack Kuryr & Apache Mesos
PDF
Container Orchestration Integration: OpenStack Kuryr
PPTX
Containers #101 Meetup: Containers and OpenStack
PPTX
Containers and OpenStack: Marc Van Hoof, Kumulus: Containers and OpenStack
PPTX
Containers #101 Meetup: Containers & OpenStack
PDF
Dockerizing OpenStack for High Availability
PPTX
Understanding the container landscape and it associated projects
PPTX
The Rise of the Container: The Dev/Ops Technology That Accelerates Ops/Dev
PDF
presentation @ docker meetup
PDF
Docker and Containers for Development and Deployment — SCALE12X
PPTX
Pairs OpenStack Summit Summary
PDF
Containers, Docker, and Microservices: the Terrific Trio
PPTX
Private Cloud with Open Stack, Docker
PPTX
The container revolution, and what it means to operators open stack southba...
PDF
Docker Application to Scientific Computing
PPTX
Docker 101 - all about Docker containers
PDF
Container orchestration
PDF
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
Orchestrating Docker with OpenStack
Cloud nativeday duane (final)
Container Orchestration Integration: OpenStack Kuryr & Apache Mesos
Container Orchestration Integration: OpenStack Kuryr
Containers #101 Meetup: Containers and OpenStack
Containers and OpenStack: Marc Van Hoof, Kumulus: Containers and OpenStack
Containers #101 Meetup: Containers & OpenStack
Dockerizing OpenStack for High Availability
Understanding the container landscape and it associated projects
The Rise of the Container: The Dev/Ops Technology That Accelerates Ops/Dev
presentation @ docker meetup
Docker and Containers for Development and Deployment — SCALE12X
Pairs OpenStack Summit Summary
Containers, Docker, and Microservices: the Terrific Trio
Private Cloud with Open Stack, Docker
The container revolution, and what it means to operators open stack southba...
Docker Application to Scientific Computing
Docker 101 - all about Docker containers
Container orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
Ad

More from Qiming Teng (6)

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

Recently uploaded (20)

PDF
ELLIE29.pdfWETWETAWTAWETAETAETERTRTERTER
PPTX
Report in SIP_Distance_Learning_Technology_Impact.pptx
PDF
CEH Module 2 Footprinting CEH V13, concepts
PDF
Optimizing bioinformatics applications: a novel approach with human protein d...
PDF
FASHION-DRIVEN TEXTILES AS A CRYSTAL OF A NEW STREAM FOR STAKEHOLDER CAPITALI...
PDF
Introduction to c language from lecture slides
PDF
Domain-specific knowledge and context in large language models: challenges, c...
PPTX
Information-Technology-in-Human-Society.pptx
PPTX
Slides World Game (s) Great Redesign Eco Economic Epochs.pptx
PDF
The AI Revolution in Customer Service - 2025
PDF
Slides World Game (s) Great Redesign Eco Economic Epochs.pdf
PDF
substrate PowerPoint Presentation basic one
PDF
Addressing the challenges of harmonizing law and artificial intelligence tech...
PPTX
Blending method and technology for hydrogen.pptx
PPTX
How to use fields_get method in Odoo 18
PDF
EIS-Webinar-Regulated-Industries-2025-08.pdf
PDF
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
PDF
Examining Bias in AI Generated News Content.pdf
PDF
State of AI in Business 2025 - MIT NANDA
PDF
Internet of Things (IoT) – Definition, Types, and Uses
ELLIE29.pdfWETWETAWTAWETAETAETERTRTERTER
Report in SIP_Distance_Learning_Technology_Impact.pptx
CEH Module 2 Footprinting CEH V13, concepts
Optimizing bioinformatics applications: a novel approach with human protein d...
FASHION-DRIVEN TEXTILES AS A CRYSTAL OF A NEW STREAM FOR STAKEHOLDER CAPITALI...
Introduction to c language from lecture slides
Domain-specific knowledge and context in large language models: challenges, c...
Information-Technology-in-Human-Society.pptx
Slides World Game (s) Great Redesign Eco Economic Epochs.pptx
The AI Revolution in Customer Service - 2025
Slides World Game (s) Great Redesign Eco Economic Epochs.pdf
substrate PowerPoint Presentation basic one
Addressing the challenges of harmonizing law and artificial intelligence tech...
Blending method and technology for hydrogen.pptx
How to use fields_get method in Odoo 18
EIS-Webinar-Regulated-Industries-2025-08.pdf
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
Examining Bias in AI Generated News Content.pdf
State of AI in Business 2025 - MIT NANDA
Internet of Things (IoT) – Definition, Types, and Uses

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.