SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
1
Docker Volume Isolator In Mesos
Jie Yu, Gilbert Song, Guangya Liu
2
Gilbert Song
Distributed Systems Engineer
Mesosphere
Guangya LiuJie Yu
Distributed Systems Engineer
Apache Mesos PMC & Committer
Mesosphere
Senior Software Engineer
IBM
3
If your containers are “cattle”, you have nothing to
lose...
The test: I don’t need persistence beyond the life of
the container instance or host.
But what to do if your containers are pet, if you
containers need to persist data?
Motivation
4
Stateful Service:
A service that needs to persist data/state
A typical stateful service
● Use external volume services
● Stateless to Mesos
Stateful services (like databases) need
durable and scalable state
Motivation
5
There are many docker
images on DockerHub are
databases...
Motivation
6
Current state of storage solution in `MesosContainerizer`
Local
● Persistent Volume
Master
Mesos Agent
Aurora Executor
Tasks
mysqld
datanode
Hadoop Executor
Tasks
Operating System
7
But local is not enough!!
Local
● Availability Risk
○ Migrate container to another host –
your storage is gone
○ Host goes down – your service goes
down
● Scale Limitation
○ Need more storage than the host has?
Sorry…
8
What we would like?
External Distributed Volume for stateful service
Master
Mesos Agent
Aurora Executor
Tasks
mysqld
datanode
Hadoop Executor
Tasks
Operating System
9
The challenges
+ others
Give operator the freedom to choose different external storage platforms.
10
Docker with External Volume
IBM Spectrum Scale AWS GCE OpenStack
Docker Volume Driver
11
Mesos with External Volume
IBM Spectrum Scale AWS GCE OpenStack
Docker Volume Driver
Docker Volume Isolator
Docker Volume Isolator
IBM Spectrum Scale AWS GCE OpenStack
Docker Volume Driver
● A driver based model
● Docker Volume Isolator takes care of
business intelligence:
○ Mount with driver name, volume name and
some options.
○ Unmount with driver name and volume name.
12
13
Docker Volume Isolator Architecture
HTTP/JSON UNIX/TCP SOCKETS
for Docker Volume API
Docker Volume Driver Plugin
(Convoy, Rex-ray, Flocker)
Docker Volume
Driver Client
Docker Volume
Isolator
dvdcli
Docker Daemon
(Optional)
Docker Volumes
Mount: dvdcli mount –volumedriver=convoy –volumename=vol1 --volumeopts=size=5 --volumeopts=iops=150
Unmount: dvdcli unmount --volumedriver=convoy --volumename=vol1
DeviceMapper NFS Amazon EBS GlusterFS Ceph
14
Some internal details
How does it works (with Rex-ray)?
Mesos Agent docker/volume dvdcli Rex-ray
Container
1) Framework launch a task
2) Provision the container
3) Get the mount point from dvdcli
4) Mount the external volume to mesos container
EBS
16
● Have `dvdcli` installed on each agent
● Volume Lifecycle management (create, delete)
● Use the same Docker volume in both the DockerContainerizer and the
MesosContainerizer simultaneously is strongly discouraged
○ MesosContainerizer has its own reference counting to decide when to unmount a Docker
volume.
○ It would be problematic if a Docker volume is unmounted by MesosContainerizer but the
DockerContainerizer is still using it.
Limitations
17
● Get rid of `dvdcli`
Future Work
18
● Part of DC/OS
● Create Volumes with your normal Marathon App Definition
● Track via Marathon UI
● Reuse the same volume after app restart
External Volumes in Marathon and DC/OS
19
Demo Time
DEMO Time!!
20
Thank you!
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Xen virtualization and multi-brick enviornment experiences
Xen virtualization and multi-brick enviornment experiencesXen virtualization and multi-brick enviornment experiences
Xen virtualization and multi-brick enviornment experiences
mrpetersisl
 

Was ist angesagt? (20)

Hands On Gluster with Jeff Darcy
Hands On Gluster with Jeff DarcyHands On Gluster with Jeff Darcy
Hands On Gluster with Jeff Darcy
 
Integration of Glusterfs in to commvault simpana
Integration of Glusterfs in to commvault simpanaIntegration of Glusterfs in to commvault simpana
Integration of Glusterfs in to commvault simpana
 
CoreOS Intro
CoreOS IntroCoreOS Intro
CoreOS Intro
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
 
Docker Architecture (v1.3)
Docker Architecture (v1.3)Docker Architecture (v1.3)
Docker Architecture (v1.3)
 
Openvz booth
Openvz boothOpenvz booth
Openvz booth
 
Solr on Docker - the Good, the Bad and the Ugly
Solr on Docker - the Good, the Bad and the UglySolr on Docker - the Good, the Bad and the Ugly
Solr on Docker - the Good, the Bad and the Ugly
 
Kubernetes introduction
Kubernetes introductionKubernetes introduction
Kubernetes introduction
 
Docker Overview
Docker OverviewDocker Overview
Docker Overview
 
Gluster and Kubernetes
Gluster and KubernetesGluster and Kubernetes
Gluster and Kubernetes
 
Wanting distributed volumes - Experiences with ceph-docker
Wanting distributed volumes - Experiences with ceph-dockerWanting distributed volumes - Experiences with ceph-docker
Wanting distributed volumes - Experiences with ceph-docker
 
Xen virtualization and multi-brick enviornment experiences
Xen virtualization and multi-brick enviornment experiencesXen virtualization and multi-brick enviornment experiences
Xen virtualization and multi-brick enviornment experiences
 
CoreOS Overview
CoreOS OverviewCoreOS Overview
CoreOS Overview
 
OSv – The OS designed for the Cloud
OSv – The OS designed for the CloudOSv – The OS designed for the Cloud
OSv – The OS designed for the Cloud
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration Summit
 
CloudStack Automated Integration Testing with Marvin
CloudStack Automated Integration Testing with Marvin CloudStack Automated Integration Testing with Marvin
CloudStack Automated Integration Testing with Marvin
 
Guaranteeing CloudStack Storage Performance
Guaranteeing CloudStack Storage Performance Guaranteeing CloudStack Storage Performance
Guaranteeing CloudStack Storage Performance
 
CoreOS @Codetalks Hamburg
CoreOS @Codetalks HamburgCoreOS @Codetalks Hamburg
CoreOS @Codetalks Hamburg
 
Docker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF MeetupDocker 1.11 @ Docker SF Meetup
Docker 1.11 @ Docker SF Meetup
 
Docker internals
Docker internalsDocker internals
Docker internals
 

Ähnlich wie Docker volume-isolator-in-mesos

A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
Docker, Inc.
 

Ähnlich wie Docker volume-isolator-in-mesos (20)

SQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall WebinarSQL Server in DevOps Town Hall Webinar
SQL Server in DevOps Town Hall Webinar
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
 
Introduction to Docker storage, volume and image
Introduction to Docker storage, volume and imageIntroduction to Docker storage, volume and image
Introduction to Docker storage, volume and image
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
Michigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOFMichigan IT Symposium 2017 - Container BOF
Michigan IT Symposium 2017 - Container BOF
 
Docker at Cloud9 IDE
Docker at Cloud9 IDEDocker at Cloud9 IDE
Docker at Cloud9 IDE
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
 
Cassandra and docker
Cassandra and dockerCassandra and docker
Cassandra and docker
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
 
The internals and the latest trends of container runtimes
The internals and the latest trends of container runtimesThe internals and the latest trends of container runtimes
The internals and the latest trends of container runtimes
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
Docker 101
Docker 101 Docker 101
Docker 101
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Improving Development and Deployment with Docker
Improving Development and Deployment with DockerImproving Development and Deployment with Docker
Improving Development and Deployment with Docker
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
 

Mehr von Guangya Liu (12)

Istio简介
Istio简介Istio简介
Istio简介
 
IBM Cloud Private Introduction
IBM Cloud Private IntroductionIBM Cloud Private Introduction
IBM Cloud Private Introduction
 
Open source-summit-k8 s-mesos-v7
Open source-summit-k8 s-mesos-v7Open source-summit-k8 s-mesos-v7
Open source-summit-k8 s-mesos-v7
 
Mesos vs Kubernetes: What We Learned Working With Both For Chinese Customers
Mesos vs Kubernetes: What We Learned Working With Both For Chinese CustomersMesos vs Kubernetes: What We Learned Working With Both For Chinese Customers
Mesos vs Kubernetes: What We Learned Working With Both For Chinese Customers
 
Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3
 
Mesos con 2015 recap meetup-v2
Mesos con 2015 recap meetup-v2Mesos con 2015 recap meetup-v2
Mesos con 2015 recap meetup-v2
 
OpenStack and Docke Integration V6
OpenStack and Docke Integration V6OpenStack and Docke Integration V6
OpenStack and Docke Integration V6
 
Pairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryPairs OpenStack Summit Summary
Pairs OpenStack Summit Summary
 
Docker集群管理 工具篇
Docker集群管理 工具篇Docker集群管理 工具篇
Docker集群管理 工具篇
 
OpenStack Resource Scheduling
OpenStack Resource SchedulingOpenStack Resource Scheduling
OpenStack Resource Scheduling
 
Organizing open stack-meetup-in-china
Organizing open stack-meetup-in-chinaOrganizing open stack-meetup-in-china
Organizing open stack-meetup-in-china
 
Docker open stack
Docker open stackDocker open stack
Docker open stack
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

Docker volume-isolator-in-mesos

  • 1. 1 Docker Volume Isolator In Mesos Jie Yu, Gilbert Song, Guangya Liu
  • 2. 2 Gilbert Song Distributed Systems Engineer Mesosphere Guangya LiuJie Yu Distributed Systems Engineer Apache Mesos PMC & Committer Mesosphere Senior Software Engineer IBM
  • 3. 3 If your containers are “cattle”, you have nothing to lose... The test: I don’t need persistence beyond the life of the container instance or host. But what to do if your containers are pet, if you containers need to persist data? Motivation
  • 4. 4 Stateful Service: A service that needs to persist data/state A typical stateful service ● Use external volume services ● Stateless to Mesos Stateful services (like databases) need durable and scalable state Motivation
  • 5. 5 There are many docker images on DockerHub are databases... Motivation
  • 6. 6 Current state of storage solution in `MesosContainerizer` Local ● Persistent Volume Master Mesos Agent Aurora Executor Tasks mysqld datanode Hadoop Executor Tasks Operating System
  • 7. 7 But local is not enough!! Local ● Availability Risk ○ Migrate container to another host – your storage is gone ○ Host goes down – your service goes down ● Scale Limitation ○ Need more storage than the host has? Sorry…
  • 8. 8 What we would like? External Distributed Volume for stateful service Master Mesos Agent Aurora Executor Tasks mysqld datanode Hadoop Executor Tasks Operating System
  • 9. 9 The challenges + others Give operator the freedom to choose different external storage platforms.
  • 10. 10 Docker with External Volume IBM Spectrum Scale AWS GCE OpenStack Docker Volume Driver
  • 11. 11 Mesos with External Volume IBM Spectrum Scale AWS GCE OpenStack Docker Volume Driver
  • 12. Docker Volume Isolator Docker Volume Isolator IBM Spectrum Scale AWS GCE OpenStack Docker Volume Driver ● A driver based model ● Docker Volume Isolator takes care of business intelligence: ○ Mount with driver name, volume name and some options. ○ Unmount with driver name and volume name. 12
  • 13. 13 Docker Volume Isolator Architecture HTTP/JSON UNIX/TCP SOCKETS for Docker Volume API Docker Volume Driver Plugin (Convoy, Rex-ray, Flocker) Docker Volume Driver Client Docker Volume Isolator dvdcli Docker Daemon (Optional) Docker Volumes Mount: dvdcli mount –volumedriver=convoy –volumename=vol1 --volumeopts=size=5 --volumeopts=iops=150 Unmount: dvdcli unmount --volumedriver=convoy --volumename=vol1 DeviceMapper NFS Amazon EBS GlusterFS Ceph
  • 15. How does it works (with Rex-ray)? Mesos Agent docker/volume dvdcli Rex-ray Container 1) Framework launch a task 2) Provision the container 3) Get the mount point from dvdcli 4) Mount the external volume to mesos container EBS
  • 16. 16 ● Have `dvdcli` installed on each agent ● Volume Lifecycle management (create, delete) ● Use the same Docker volume in both the DockerContainerizer and the MesosContainerizer simultaneously is strongly discouraged ○ MesosContainerizer has its own reference counting to decide when to unmount a Docker volume. ○ It would be problematic if a Docker volume is unmounted by MesosContainerizer but the DockerContainerizer is still using it. Limitations
  • 17. 17 ● Get rid of `dvdcli` Future Work
  • 18. 18 ● Part of DC/OS ● Create Volumes with your normal Marathon App Definition ● Track via Marathon UI ● Reuse the same volume after app restart External Volumes in Marathon and DC/OS