SlideShare a Scribd company logo
1 of 28
Download to read offline
Anusha Ragunathan
Provisioning & Management of
Storage in the Docker platform
Sr Software Engineer, Docker
Stateful Apps and Storage
Deploy
Apps and
use the
volume
Planning
for High
availability
Planning
for frequent
Backup and
restore of
the volume
Provisioning
volumes
Agenda
Docker Volume Plugins
Docker Enterprise & Kubernetes
Plugins & Ecosystem
Docker Volume Plugins
➢ Docker Volume Plugins (aka DVP) are a way to extend the docker
engine's volume subsystem beyond the local host.
➢ Docker provides an API specification for storage providers to plugin into
docker engine.
➢ The plugins are an out-of-tree and out-of-process implementation for:
Create/Remove volumes
Mount/Unmount volumes
Get Volume Capabilities
List volumes
➢ Example plugin: DVP from NetApp
Docker Volume Plugins
Life of a volume: Single node
CreateVolume
UnMountVolume (from container)
MountVolume (to container and format if necessary)
DeleteVolume (after use)
Life of a volume: Cluster
CreateVolume
AttachVolume (to Node)
Format and partition volume, if necessary
MountVolume (to container)
UnMountVolume (from container)
DetachVolume (from Node)
DeleteVolume (after use)
➢ Docker Swarm is the native container orchestrator from
Docker.
➢ Swarm is not volume aware with respect to scheduling and
orchestration.
➢ Volume Plugins must run independently on each node in a
Swarm cluster. Also Volume requests are simultaneously sent
to each node in a Swarm cluster.
➢ Plugins are expected to be cluster aware
➢ Example of a Swarm volume plugin: Docker’s cloudstor plugin.
It queries the volume state in a cluster using Cloud APIs.
Docker Volume Plugins: Swarm
• Around the same time that Docker Swarm was considering
rearchitecting Swarm to be cluster aware, a new community
effort around standardization was evolving.
• Members from Docker, Kubernetes and Mesos worked on
creating a specification that could be established as a
storage standard across Container Orchestrators.
• Thus, Container Storage Interface (CSI) specification
emerged.
• CSI 1.0 spec shipped with Kubernetes 1.13 GA.
• Docker Enterprise supports Kubernetes CSI.
CSI
Docker Enterprise +
Kubernetes
Storage Jargon in k8s
● A storage claim made by a
user
● PVC consume Volume
resources.
● PVCs can request specific
sizes and access modes.
● Pods reference PVC
Persistent Volume
Claim (PVC)
Persistent Volume (PV)
● Storage resources in a cluster
● Lifecycle independent of a Pod
Pods
● A set of running containers
representing a workload
● Provisioning is the creation of Persistent Volumes
● Static and Dynamic Provisioning
○ Static: pre creation of PV
○ Dynamic: on-demand creation of PV based on size,
permissions and storage backend.
● Dynamic Provisioning through Storage Classes
○ Provides a way for Admins to describe “classes” of
storage available. Example, storage classes can
represent different performance SLAs.
○ Backed by a provisioner. Provisioner is process that
provisions volumes for a specific storage backend
PV Provisioning
Provisioning Workflow (static)
1. Cluster Admin
pre-provisions
volumes and
registers PVs
2. Developer
claims a PV
from the pool
4. Developer
references the
claim in a Pod
3. Controller BINDS
PV to PVC
Pool of Persistent Volumes
NFS PV iSCSI PV EBS PV
Claim
`Claim
ClaimClaim
Pod
Claim
5. Controller inspects
Claim and MOUNTs
the PV into the Pod.
Provisioning Workflow (dynamic)
1. Cluster Admin
registers
Storage Classes
2. Developer defines a
claim by referring a
storage class
5. Developer
references the
claim in a Pod
4. Controller BINDS
PV to PVC
6. Controller
inspects Claim
and MOUNTs the
PV into the Pod.
SSD
Pod
Claim
Claim
Persistent
Volumes
Storage
Classes
Slow
Fast
3. Controller
provisions
volumes
on-demand
High Availability (HA)
● HA involves handling Node failures and Storage failures.
● Node failures:
○ Node drain: Maintenance
○ Node failures: Node lost/ kubelet crash
● Kubernetes provides built-in support for node failures. The
attach-detach controller on the master is in charge of
interacting with the volume plugin and moving PVs across
nodes.
● If delays/instability with attach/detach is not desired, use a
Software Defined Storage (SDS) solution.
Plugins & Ecosystem
Plugin Type Pros Cons Future
InTree
No extra installation
necessary
Release cycles tied to
k8s releases
Superseded by CSI
External
Provisioner
Code maintained
independently
Limited customization for
attach and mount ops
Superseded by CSI
FlexVolume
Highly customizable code
maintained independently
Host based exec model
reduces portability
Deprecated for Linux
Will be used for Windows
CSI
Highly customizable code
maintained independently
and based on standard
Requires installation and
configuration
The future of storage
plugins
Kubernetes Storage Plugin Ecosystem
In tree Plugin Architecture
Worker Worker
Master
Storage Service
Kubelet Kubelet
AttachVolume
DetachVolume
CreateVolume
DeleteVolume
Kube Core Components
MountVolume
UnmountVolume
AttachVolume
DetachVolume
CreateVolume
Delete Volume
In-tree Plugins
PV Claim
API Server
In-tree Plugin Scenarios
Cloud Protocol Ephemeral SDS Extensions
AWS EBS NFS local Portworx FlexVolume
GCE PD iSCSI hostpath StorageOS CSI
Azure Disk/File Fibre Channel config_map ScaleIO
Openstack Cinder secret
vSphereVolume
External Provisioner Architecture
Worker Worker
Master
Storage Service
Kubelet Kubelet
External Provisioner
(StatefulSet/DeploymentPod)
Kube Core Components
Externalcomponents
API Server
MountVolume
UnmountVolume
AttachVolume
DetachVolume
CreateVolume
Delete Volume
In-tree Plugins
PV Claim
PV
External Provisioner Scenarios
In-tree PV source Implementations
[not certified with UCP yet]
iSCSI
Netapp-Trident, Dell/EMC-Isilon, HPE-Nimble, HPE-3PAR, Nutanix,
OpenEBS-iscsi
NFS Netapp-Trident, AWS-EFS, Dell-EMC Isilon
CSI Plugins
Worker Worker
Storage Service
Kubelet Kubelet
External
Provisioner
(Deployment/
StatefulSet)
CreateVolume
DeleteVolume
External
Attacher
(Deployment/
StatefulSet)
CSI Controller
(Deployment/
StatefulSet)
CSI Node
(DaemonSet)
Kube Core Components Kube Sidecarcontainers CSI plugin components
ControllerPublish
ControllerUnPublish
Master
API Server
NodeStage/NodeUnstage NodePublish/NodeUnpublish
PV
PV Claim
volume
attachment
CSI In-
Tree
Future enterprise features in CSI
❖Backup
➢Snapshot/restore
➢Application consistent/triggered snapshots
❖Volume resizing
❖Cloning and Replication
Demo: PV Provisioning & HA using CSI AWS
EBS
Worker Worker
Master
AWS EBS Service
OS specific considerations
● Cluster may support Linux and Windows nodes
● Cluster-scoped operations can be OS agnostic
▪ Create, Delete
▪ Attach, Detach
● Node-scoped operations need to be OS aware
▪ Device enumeration
▪ Format, Mount, Dismount
OS specific considerations
● File system support varies across OS
▪ NTFS and SMB in Windows
▪ ext, xfs and NFS in Linux
● Support for privileged containers absent in Windows
▪ Plugins running directly on host have no problems
▪ Fully containerized plugins cannot function
▪ Host proxy to support CSI plugins being investigated
Varied deployments on-premise and on cloud have several storage options.
Shop around.
The plugin model is standardized through a common industry standard spec -
CSI
Summary
Try Docker and Docker Enterprise
Thank You!

More Related Content

What's hot

Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in DockerDocker, Inc.
 
Enabling Security via Container Runtimes
Enabling Security via Container RuntimesEnabling Security via Container Runtimes
Enabling Security via Container RuntimesPhil Estes
 
Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionPhil Estes
 
Persistent Data Storage for Docker Containers by Andre Moruga
Persistent Data Storage for Docker Containers by Andre MorugaPersistent Data Storage for Docker Containers by Andre Moruga
Persistent Data Storage for Docker Containers by Andre MorugaDocker, Inc.
 
Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsSandeep Parikh
 
Apache Stratos 4.1.0 Architecture
Apache Stratos 4.1.0 ArchitectureApache Stratos 4.1.0 Architecture
Apache Stratos 4.1.0 ArchitectureImesh Gunaratne
 
The state of containerd
The state of containerdThe state of containerd
The state of containerdDocker, Inc.
 
Extended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use casesExtended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use casesPhil Estes
 
Integration kubernetes with docker private registry
Integration kubernetes with docker private registryIntegration kubernetes with docker private registry
Integration kubernetes with docker private registryHungWei Chiu
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Etsuji Nakai
 
Securing Containerized Applications: A Primer
Securing Containerized Applications: A PrimerSecuring Containerized Applications: A Primer
Securing Containerized Applications: A PrimerPhil Estes
 
Using Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkUsing Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkDocker, Inc.
 
Building stateful applications on Kubernetes with Rook
Building stateful applications on Kubernetes with RookBuilding stateful applications on Kubernetes with Rook
Building stateful applications on Kubernetes with RookRoberto Hashioka
 
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 MeetupStefan Schimanski
 
Using Rook to Manage Kubernetes Storage with Ceph
Using Rook to Manage Kubernetes Storage with CephUsing Rook to Manage Kubernetes Storage with Ceph
Using Rook to Manage Kubernetes Storage with CephCloudOps2005
 
Kubernetes with docker
Kubernetes with dockerKubernetes with docker
Kubernetes with dockerDocker, Inc.
 
containerd and CRI
containerd and CRIcontainerd and CRI
containerd and CRIDocker, Inc.
 
Bucketbench: Benchmarking Container Runtime Performance
Bucketbench: Benchmarking Container Runtime PerformanceBucketbench: Benchmarking Container Runtime Performance
Bucketbench: Benchmarking Container Runtime PerformancePhil Estes
 
Deploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache StratosDeploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache StratosChris Haddad
 
Embedding Containerd For Fun and Profit
Embedding Containerd For Fun and ProfitEmbedding Containerd For Fun and Profit
Embedding Containerd For Fun and ProfitPhil Estes
 

What's hot (20)

Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
Enabling Security via Container Runtimes
Enabling Security via Container RuntimesEnabling Security via Container Runtimes
Enabling Security via Container Runtimes
 
Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine Evolution
 
Persistent Data Storage for Docker Containers by Andre Moruga
Persistent Data Storage for Docker Containers by Andre MorugaPersistent Data Storage for Docker Containers by Andre Moruga
Persistent Data Storage for Docker Containers by Andre Moruga
 
Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid Deployments
 
Apache Stratos 4.1.0 Architecture
Apache Stratos 4.1.0 ArchitectureApache Stratos 4.1.0 Architecture
Apache Stratos 4.1.0 Architecture
 
The state of containerd
The state of containerdThe state of containerd
The state of containerd
 
Extended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use casesExtended and embedding: containerd update & project use cases
Extended and embedding: containerd update & project use cases
 
Integration kubernetes with docker private registry
Integration kubernetes with docker private registryIntegration kubernetes with docker private registry
Integration kubernetes with docker private registry
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
 
Securing Containerized Applications: A Primer
Securing Containerized Applications: A PrimerSecuring Containerized Applications: A Primer
Securing Containerized Applications: A Primer
 
Using Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkUsing Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at Splunk
 
Building stateful applications on Kubernetes with Rook
Building stateful applications on Kubernetes with RookBuilding stateful applications on Kubernetes with Rook
Building stateful applications on Kubernetes with Rook
 
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
 
Using Rook to Manage Kubernetes Storage with Ceph
Using Rook to Manage Kubernetes Storage with CephUsing Rook to Manage Kubernetes Storage with Ceph
Using Rook to Manage Kubernetes Storage with Ceph
 
Kubernetes with docker
Kubernetes with dockerKubernetes with docker
Kubernetes with docker
 
containerd and CRI
containerd and CRIcontainerd and CRI
containerd and CRI
 
Bucketbench: Benchmarking Container Runtime Performance
Bucketbench: Benchmarking Container Runtime PerformanceBucketbench: Benchmarking Container Runtime Performance
Bucketbench: Benchmarking Container Runtime Performance
 
Deploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache StratosDeploy at scale with CoreOS Kubernetes and Apache Stratos
Deploy at scale with CoreOS Kubernetes and Apache Stratos
 
Embedding Containerd For Fun and Profit
Embedding Containerd For Fun and ProfitEmbedding Containerd For Fun and Profit
Embedding Containerd For Fun and Profit
 

Similar to Persistent Storage in Docker Platform

MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDocker, Inc.
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesNEXTtour
 
Container and Cloud Native Application: What is VMware doing in this space? -...
Container and Cloud Native Application: What is VMware doing in this space? -...Container and Cloud Native Application: What is VMware doing in this space? -...
Container and Cloud Native Application: What is VMware doing in this space? -...gguglie
 
Storage Integrations for Container Orchestrators
Storage Integrations for Container OrchestratorsStorage Integrations for Container Orchestrators
Storage Integrations for Container Orchestrators{code} by Dell EMC
 
containerD
containerDcontainerD
containerDstrikr .
 
Neues aus dem Docker-Universum
Neues aus dem Docker-UniversumNeues aus dem Docker-Universum
Neues aus dem Docker-UniversumNicholas Dille
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowSimone Morellato
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_kanedafromparis
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019Kumton Suttiraksiri
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introductionJason Hu
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersLakmal Warusawithana
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersImesh Gunaratne
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMwareVMUG IT
 
Introduction to Container Storage Interface (CSI)
Introduction to Container Storage Interface (CSI)Introduction to Container Storage Interface (CSI)
Introduction to Container Storage Interface (CSI)Idan Atias
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Containarized Gluster Storage in Kubernetes
Containarized Gluster Storage in KubernetesContainarized Gluster Storage in Kubernetes
Containarized Gluster Storage in KubernetesNeependra Khare
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIPT Datacomm Diangraha
 
Build optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and DockerBuild optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and DockerDmytro Patkovskyi
 

Similar to Persistent Storage in Docker Platform (20)

MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker Containers
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
 
Container and Cloud Native Application: What is VMware doing in this space? -...
Container and Cloud Native Application: What is VMware doing in this space? -...Container and Cloud Native Application: What is VMware doing in this space? -...
Container and Cloud Native Application: What is VMware doing in this space? -...
 
Storage Integrations for Container Orchestrators
Storage Integrations for Container OrchestratorsStorage Integrations for Container Orchestrators
Storage Integrations for Container Orchestrators
 
containerD
containerDcontainerD
containerD
 
Neues aus dem Docker-Universum
Neues aus dem Docker-UniversumNeues aus dem Docker-Universum
Neues aus dem Docker-Universum
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User Workflow
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
 
Kubernetes on aws
Kubernetes on awsKubernetes on aws
Kubernetes on aws
 
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on ContainersWSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
 
Deploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on ContainersDeploying WSO2 Middleware on Containers
Deploying WSO2 Middleware on Containers
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
 
Introduction to Container Storage Interface (CSI)
Introduction to Container Storage Interface (CSI)Introduction to Container Storage Interface (CSI)
Introduction to Container Storage Interface (CSI)
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Containarized Gluster Storage in Kubernetes
Containarized Gluster Storage in KubernetesContainarized Gluster Storage in Kubernetes
Containarized Gluster Storage in Kubernetes
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
 
Build optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and DockerBuild optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and Docker
 

Recently uploaded

Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 

Recently uploaded (20)

Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 

Persistent Storage in Docker Platform

  • 1. Anusha Ragunathan Provisioning & Management of Storage in the Docker platform Sr Software Engineer, Docker
  • 2. Stateful Apps and Storage Deploy Apps and use the volume Planning for High availability Planning for frequent Backup and restore of the volume Provisioning volumes
  • 3. Agenda Docker Volume Plugins Docker Enterprise & Kubernetes Plugins & Ecosystem
  • 5. ➢ Docker Volume Plugins (aka DVP) are a way to extend the docker engine's volume subsystem beyond the local host. ➢ Docker provides an API specification for storage providers to plugin into docker engine. ➢ The plugins are an out-of-tree and out-of-process implementation for: Create/Remove volumes Mount/Unmount volumes Get Volume Capabilities List volumes ➢ Example plugin: DVP from NetApp Docker Volume Plugins
  • 6. Life of a volume: Single node CreateVolume UnMountVolume (from container) MountVolume (to container and format if necessary) DeleteVolume (after use)
  • 7. Life of a volume: Cluster CreateVolume AttachVolume (to Node) Format and partition volume, if necessary MountVolume (to container) UnMountVolume (from container) DetachVolume (from Node) DeleteVolume (after use)
  • 8. ➢ Docker Swarm is the native container orchestrator from Docker. ➢ Swarm is not volume aware with respect to scheduling and orchestration. ➢ Volume Plugins must run independently on each node in a Swarm cluster. Also Volume requests are simultaneously sent to each node in a Swarm cluster. ➢ Plugins are expected to be cluster aware ➢ Example of a Swarm volume plugin: Docker’s cloudstor plugin. It queries the volume state in a cluster using Cloud APIs. Docker Volume Plugins: Swarm
  • 9. • Around the same time that Docker Swarm was considering rearchitecting Swarm to be cluster aware, a new community effort around standardization was evolving. • Members from Docker, Kubernetes and Mesos worked on creating a specification that could be established as a storage standard across Container Orchestrators. • Thus, Container Storage Interface (CSI) specification emerged. • CSI 1.0 spec shipped with Kubernetes 1.13 GA. • Docker Enterprise supports Kubernetes CSI. CSI
  • 11. Storage Jargon in k8s ● A storage claim made by a user ● PVC consume Volume resources. ● PVCs can request specific sizes and access modes. ● Pods reference PVC Persistent Volume Claim (PVC) Persistent Volume (PV) ● Storage resources in a cluster ● Lifecycle independent of a Pod Pods ● A set of running containers representing a workload
  • 12. ● Provisioning is the creation of Persistent Volumes ● Static and Dynamic Provisioning ○ Static: pre creation of PV ○ Dynamic: on-demand creation of PV based on size, permissions and storage backend. ● Dynamic Provisioning through Storage Classes ○ Provides a way for Admins to describe “classes” of storage available. Example, storage classes can represent different performance SLAs. ○ Backed by a provisioner. Provisioner is process that provisions volumes for a specific storage backend PV Provisioning
  • 13. Provisioning Workflow (static) 1. Cluster Admin pre-provisions volumes and registers PVs 2. Developer claims a PV from the pool 4. Developer references the claim in a Pod 3. Controller BINDS PV to PVC Pool of Persistent Volumes NFS PV iSCSI PV EBS PV Claim `Claim ClaimClaim Pod Claim 5. Controller inspects Claim and MOUNTs the PV into the Pod.
  • 14. Provisioning Workflow (dynamic) 1. Cluster Admin registers Storage Classes 2. Developer defines a claim by referring a storage class 5. Developer references the claim in a Pod 4. Controller BINDS PV to PVC 6. Controller inspects Claim and MOUNTs the PV into the Pod. SSD Pod Claim Claim Persistent Volumes Storage Classes Slow Fast 3. Controller provisions volumes on-demand
  • 15. High Availability (HA) ● HA involves handling Node failures and Storage failures. ● Node failures: ○ Node drain: Maintenance ○ Node failures: Node lost/ kubelet crash ● Kubernetes provides built-in support for node failures. The attach-detach controller on the master is in charge of interacting with the volume plugin and moving PVs across nodes. ● If delays/instability with attach/detach is not desired, use a Software Defined Storage (SDS) solution.
  • 17. Plugin Type Pros Cons Future InTree No extra installation necessary Release cycles tied to k8s releases Superseded by CSI External Provisioner Code maintained independently Limited customization for attach and mount ops Superseded by CSI FlexVolume Highly customizable code maintained independently Host based exec model reduces portability Deprecated for Linux Will be used for Windows CSI Highly customizable code maintained independently and based on standard Requires installation and configuration The future of storage plugins Kubernetes Storage Plugin Ecosystem
  • 18. In tree Plugin Architecture Worker Worker Master Storage Service Kubelet Kubelet AttachVolume DetachVolume CreateVolume DeleteVolume Kube Core Components MountVolume UnmountVolume AttachVolume DetachVolume CreateVolume Delete Volume In-tree Plugins PV Claim API Server
  • 19. In-tree Plugin Scenarios Cloud Protocol Ephemeral SDS Extensions AWS EBS NFS local Portworx FlexVolume GCE PD iSCSI hostpath StorageOS CSI Azure Disk/File Fibre Channel config_map ScaleIO Openstack Cinder secret vSphereVolume
  • 20. External Provisioner Architecture Worker Worker Master Storage Service Kubelet Kubelet External Provisioner (StatefulSet/DeploymentPod) Kube Core Components Externalcomponents API Server MountVolume UnmountVolume AttachVolume DetachVolume CreateVolume Delete Volume In-tree Plugins PV Claim PV
  • 21. External Provisioner Scenarios In-tree PV source Implementations [not certified with UCP yet] iSCSI Netapp-Trident, Dell/EMC-Isilon, HPE-Nimble, HPE-3PAR, Nutanix, OpenEBS-iscsi NFS Netapp-Trident, AWS-EFS, Dell-EMC Isilon
  • 22. CSI Plugins Worker Worker Storage Service Kubelet Kubelet External Provisioner (Deployment/ StatefulSet) CreateVolume DeleteVolume External Attacher (Deployment/ StatefulSet) CSI Controller (Deployment/ StatefulSet) CSI Node (DaemonSet) Kube Core Components Kube Sidecarcontainers CSI plugin components ControllerPublish ControllerUnPublish Master API Server NodeStage/NodeUnstage NodePublish/NodeUnpublish PV PV Claim volume attachment CSI In- Tree
  • 23. Future enterprise features in CSI ❖Backup ➢Snapshot/restore ➢Application consistent/triggered snapshots ❖Volume resizing ❖Cloning and Replication
  • 24. Demo: PV Provisioning & HA using CSI AWS EBS Worker Worker Master AWS EBS Service
  • 25. OS specific considerations ● Cluster may support Linux and Windows nodes ● Cluster-scoped operations can be OS agnostic ▪ Create, Delete ▪ Attach, Detach ● Node-scoped operations need to be OS aware ▪ Device enumeration ▪ Format, Mount, Dismount
  • 26. OS specific considerations ● File system support varies across OS ▪ NTFS and SMB in Windows ▪ ext, xfs and NFS in Linux ● Support for privileged containers absent in Windows ▪ Plugins running directly on host have no problems ▪ Fully containerized plugins cannot function ▪ Host proxy to support CSI plugins being investigated
  • 27. Varied deployments on-premise and on cloud have several storage options. Shop around. The plugin model is standardized through a common industry standard spec - CSI Summary Try Docker and Docker Enterprise