SlideShare a Scribd company logo
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
○
Temp Local Network
● emptyDir ● hostPath ● GlusterFS
● CephRBD
● gitRepo
● secret
● flocker
● gcePersistentDisk
● AWS ElasticBlockStore (EBS)
● NFS
● iSCSI
● Fibre Channel
● Cinder
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
○
○
VS.
Cattle Storage
KubeCon EU 2016: Kubernetes Storage 101
SALLYBOB
GLOBAL Persistent Volume (PV123) Persistent Volume (PV456)
POD
CLAIM REFERENCE
PERSISTENT VOLUME
CLAIM (PVC001)
POD
CLAIM REFERENCE
PERSISTENT VOLUME
CLAIM (PVC002)
POD
CLAIM REFERENCE
PERSISTENT VOLUME
CLAIM (PVC003)
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: dyn-prov-claim
annotations:
volume.alpha.kubernetes.io/storage-class: aws-ebs
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
Available Provisioners:
OpenStack Cinder
kubernetes.io/cinder
AWS Elastic Block Store (EBS)
kubernetes.io/aws-ebs
GCE Persistent Disk (gcePD)
kubernetes.io/gce-pd
PROVISION:
● MANUAL
● DYNAMIC
AVAILABLE
BOUND
PV + PVC =
RELEASED
PV + PVC =
FAILURE
POD
CLAIM
REQUEST
CLAIM
DELETED
PENDING
RETAIN PV
(default policy)
volume cannot mount
CrashBackLoop
PROVISION:
● MANUAL
● DYNAMIC
AVAILABLE
BOUND
PV + PVC =
RELEASED
PV + PVC =
FAILURE
POD
CLAIM
REQUEST
POD
DELETED
PENDING
FAILURE
RETAIN PV
POD
CLAIM
REQUEST
volume cannot mount
CrashBackLoop
Timing / vague state
KubeCon EU 2016: Kubernetes Storage 101
Pod Security Policy (Upstream) Security Context Constraints (SCC) (OpenShift)
● PSP provides an interface for the security
types but enforcement doesn’t exist today
● No admission controller
SCCs are objects that define a set of conditions that a pod
must run with in order to be accepted into the system. They
allow an administrator to control the following:
1. Running of privileged containers.
2. Capabilities a container can request to be added.
3. Use of host directories as volumes.
4. The SELinux context of the container.
5. The user ID.
6. The use of host namespaces and networking.
7. Allocating an FSGroup that owns the pod’s volumes
8. Configuring allowable supplemental groups
● SCC defined by namespace and can be restricted to
specific users
# ls -ld /opt/nfs # on NFS server
drwxrwx---. 2 root 1234 4096 Oct 30 15:27 /opt/nfs
kind: Pod
metadata:
name: nginx-nfs-test
spec:
containers:
- name: nginx-nfs-test
image: fedora/nginx
ports:
- name: web
containerPort: 80
volumeMounts:
- name: nginx-nfs
mountPath: /usr/share/nginx/html/test
securityContext:
supplementalGroups: [1234]
volumes:
- name: nginx-nfs
persistentVolumeClaim
claimName: nfs-claim
Currently the list of volumes which support ownership management
includes:
● AWS Elastic Block Store
● OpenStack Cinder
● GCE Persistent Disk
● iSCSI
● emptyDir
● Ceph RBD
● gitRepo
apiVersion: v1
kind: Pod
metadata:
name: rbd-web
spec:
containers:
- name: web
image: nginx
ports:
- name: web
containerPort: 80
volumeMounts:
- name: ceph-rbd
mountPath: "/usr/share/nginx/html"
securityContext:
fsGroup: 1234
volumes:
- name: ceph-rbd
rbd:
monitors:
- 192.168.122.133:6789
pool: rbd
image: foo
user: admin
secretRef:
name: ceph-secret
fsType: ext4
readOnly: false
Currently the list of volumes which support SELinux
management includes:
● AWS Elastic Block Store
● OpenStack Cinder
● GCE Persistent Disk
● iSCSI
● emptyDir
● Ceph RBD
● gitRepo
● Fibre Channel
apiVersion: v1
kind: Pod
metadata:
name: ebs-web
spec:
containers:
- name: web
image: nginx
ports:
- name: web
containerPort: 80
volumeMounts:
- name: ebs-volume
mountPath: "/usr/share/nginx/html"
securityContext:
seLinuxOptions:
level: "s0:c123,c456"
volumes:
- name: ebs-volume
awsElasticBlockStore:
volumeID: <VOLUME ID>
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101

More Related Content

PDF
Introduction to Kubernetes and GKE
PDF
Kubernetes dealing with storage and persistence
PPTX
Everything You Need To Know About Persistent Storage in Kubernetes
PDF
Persistent Storage with Containers with Kubernetes & OpenShift
PDF
The Container Storage Interface (CSI)
PDF
Hands-On Introduction to Kubernetes at LISA17
PDF
DevOps - Interview Question.pdf
PPTX
Kubernetes #6 advanced scheduling
Introduction to Kubernetes and GKE
Kubernetes dealing with storage and persistence
Everything You Need To Know About Persistent Storage in Kubernetes
Persistent Storage with Containers with Kubernetes & OpenShift
The Container Storage Interface (CSI)
Hands-On Introduction to Kubernetes at LISA17
DevOps - Interview Question.pdf
Kubernetes #6 advanced scheduling

What's hot (20)

PPTX
Kubernetes Introduction
PDF
Kubernetes
PDF
(Draft) Kubernetes - A Comprehensive Overview
PDF
Deep dive into Kubernetes Networking
PDF
Kubernetes 101
PDF
2019.06.27 Intro to Ceph
ODP
VPC Implementation In OpenStack Heat
PDF
Autoscaling Kubernetes
PPTX
Kubernetes for Beginners: An Introductory Guide
PDF
2021.02 new in Ceph Pacific Dashboard
PDF
Quick introduction to Kubernetes
PDF
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
PDF
CKA Certified Kubernetes Administrator Notes
PDF
Introduction to Kubernetes and Google Container Engine (GKE)
PDF
Cluster management with Kubernetes
PPT
OpenSearch
PPTX
Azure kubernetes service (aks)
PDF
An overview of the Kubernetes architecture
PDF
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
PPTX
Tìm hiểu và triển khai ứng dụng Web với Kubernetes
Kubernetes Introduction
Kubernetes
(Draft) Kubernetes - A Comprehensive Overview
Deep dive into Kubernetes Networking
Kubernetes 101
2019.06.27 Intro to Ceph
VPC Implementation In OpenStack Heat
Autoscaling Kubernetes
Kubernetes for Beginners: An Introductory Guide
2021.02 new in Ceph Pacific Dashboard
Quick introduction to Kubernetes
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
CKA Certified Kubernetes Administrator Notes
Introduction to Kubernetes and Google Container Engine (GKE)
Cluster management with Kubernetes
OpenSearch
Azure kubernetes service (aks)
An overview of the Kubernetes architecture
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Tìm hiểu và triển khai ứng dụng Web với Kubernetes
Ad

Viewers also liked (20)

PDF
Behavioural activity monitoring on CoreOS with Sysdig Falco
PDF
Gluster Containerized Storage for Cloud Applications
PDF
An Introduction to Kubernetes
PDF
Cloud expo 2015
PPTX
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
PDF
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
PDF
Red Hat Storage Day LA - Persistent Storage for Linux Containers
PDF
Kubernetes Scaling SIG (K8Scale)
PDF
Consuming Cinder from Docker
PDF
Federated mesos clusters for global data center designs
PDF
Marc Sluiter - 15 Kubernetes Features in 15 Minutes
PDF
Kubernetes 101 for Developers
PPTX
9 ways to consume kubernetes on open stack in 15 mins (k8s meetup)
ODP
OpenShift Enterprise
PDF
KubeCon EU 2016: Full Automatic Database: PostgreSQL HA with Kubernetes
PDF
The NFS Version 4 Protocol
PDF
Kubernetes Networking
PDF
05. k means clustering ( k-means 클러스터링)
PPTX
Ceph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons Learned
PDF
Wanting distributed volumes - Experiences with ceph-docker
Behavioural activity monitoring on CoreOS with Sysdig Falco
Gluster Containerized Storage for Cloud Applications
An Introduction to Kubernetes
Cloud expo 2015
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
Red Hat Storage Day LA - Persistent Storage for Linux Containers
Kubernetes Scaling SIG (K8Scale)
Consuming Cinder from Docker
Federated mesos clusters for global data center designs
Marc Sluiter - 15 Kubernetes Features in 15 Minutes
Kubernetes 101 for Developers
9 ways to consume kubernetes on open stack in 15 mins (k8s meetup)
OpenShift Enterprise
KubeCon EU 2016: Full Automatic Database: PostgreSQL HA with Kubernetes
The NFS Version 4 Protocol
Kubernetes Networking
05. k means clustering ( k-means 클러스터링)
Ceph Day Chicago - Ceph Deployment at Target: Best Practices and Lessons Learned
Wanting distributed volumes - Experiences with ceph-docker
Ad

Similar to KubeCon EU 2016: Kubernetes Storage 101 (20)

PDF
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
PDF
Docker and Containers for Development and Deployment — SCALE12X
PDF
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
PPTX
On Docker and its use for LHC at CERN
PDF
Container Attached Storage with OpenEBS - CNCF Paris Meetup
PPTX
Introduction to Container Storage Interface (CSI)
PPTX
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
PDF
Webinar - DreamObjects/Ceph Case Study
PDF
Keeping OpenStack storage trendy with Ceph and containers
PDF
CEPH DAY BERLIN - PRACTICAL CEPHFS AND NFS USING OPENSTACK MANILA
PDF
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
PPTX
Couch to OpenStack: Cinder - August 6, 2013
PPTX
Kubernetes #4 volume &amp; stateful set
PDF
The Automation Factory
PDF
Using CVMFS on a distributed Kubernetes cluster - The PRP Experience
PDF
Introduction to Docker (as presented at December 2013 Global Hackathon)
PDF
Solving k8s persistent workloads using k8s DevOps style
PDF
Andrija Panic - Ceph with CloudStack
PPTX
OpenEBS hangout #4
PDF
Kubernetes stack reliability
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
Docker and Containers for Development and Deployment — SCALE12X
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
On Docker and its use for LHC at CERN
Container Attached Storage with OpenEBS - CNCF Paris Meetup
Introduction to Container Storage Interface (CSI)
Kubernetes @ Squarespace (SRE Portland Meetup October 2017)
Webinar - DreamObjects/Ceph Case Study
Keeping OpenStack storage trendy with Ceph and containers
CEPH DAY BERLIN - PRACTICAL CEPHFS AND NFS USING OPENSTACK MANILA
Practical CephFS with nfs today using OpenStack Manila - Ceph Day Berlin - 12...
Couch to OpenStack: Cinder - August 6, 2013
Kubernetes #4 volume &amp; stateful set
The Automation Factory
Using CVMFS on a distributed Kubernetes cluster - The PRP Experience
Introduction to Docker (as presented at December 2013 Global Hackathon)
Solving k8s persistent workloads using k8s DevOps style
Andrija Panic - Ceph with CloudStack
OpenEBS hangout #4
Kubernetes stack reliability

More from KubeAcademy (20)

PDF
KubeCon EU 2016: Distributed containers in the physical world
PDF
KubeCon EU 2016:
PDF
KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
PDF
KubeCon EU 2016: A Practical Guide to Container Scheduling
PDF
KubeCon EU 2016: Trading in the Kube
ODP
KubeCon EU 2016: Integrated trusted computing in Kubernetes
PDF
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
PPTX
KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
PDF
KubeCon EU 2016: Heroku to Kubernetes
PPTX
KubeCon EU 2016: Transforming the Government
PDF
KubeCon EU 2016: Getting the Jobs Done With Kubernetes
PDF
KubeCon EU 2016: Using Traffic Control to Test Apps in Kubernetes
PDF
KubeCon EU 2016: Kubernetes in Production in The New York Times newsroom
PDF
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
PDF
KubeCon EU 2016: SmartCity IoT on Kubernetes
PDF
KubeCon EU 2016: Templatized Application Configuration on OpenShift and Kuber...
PDF
KubeCon EU 2016 Keynote: Pushing Kubernetes Forward
PDF
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
PDF
KubeCon EU 2016: Killing containers to make weather beautiful
PPTX
KubeCon EU 2016: Multi-Tenant Kubernetes
KubeCon EU 2016: Distributed containers in the physical world
KubeCon EU 2016:
KubeCon EU 2016: ChatOps and Automatic Deployment on Kubernetes
KubeCon EU 2016: A Practical Guide to Container Scheduling
KubeCon EU 2016: Trading in the Kube
KubeCon EU 2016: Integrated trusted computing in Kubernetes
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Heroku to Kubernetes
KubeCon EU 2016: Transforming the Government
KubeCon EU 2016: Getting the Jobs Done With Kubernetes
KubeCon EU 2016: Using Traffic Control to Test Apps in Kubernetes
KubeCon EU 2016: Kubernetes in Production in The New York Times newsroom
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: SmartCity IoT on Kubernetes
KubeCon EU 2016: Templatized Application Configuration on OpenShift and Kuber...
KubeCon EU 2016 Keynote: Pushing Kubernetes Forward
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Killing containers to make weather beautiful
KubeCon EU 2016: Multi-Tenant Kubernetes

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
KodekX | Application Modernization Development
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPT
Teaching material agriculture food technology
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Electronic commerce courselecture one. Pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
KodekX | Application Modernization Development
“AI and Expert System Decision Support & Business Intelligence Systems”
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Per capita expenditure prediction using model stacking based on satellite ima...
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Understanding_Digital_Forensics_Presentation.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Teaching material agriculture food technology
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Building Integrated photovoltaic BIPV_UPV.pdf
Electronic commerce courselecture one. Pdf

KubeCon EU 2016: Kubernetes Storage 101

  • 3.
  • 4. Temp Local Network ● emptyDir ● hostPath ● GlusterFS ● CephRBD ● gitRepo ● secret ● flocker ● gcePersistentDisk ● AWS ElasticBlockStore (EBS) ● NFS ● iSCSI ● Fibre Channel ● Cinder
  • 10. VS.
  • 13. SALLYBOB GLOBAL Persistent Volume (PV123) Persistent Volume (PV456) POD CLAIM REFERENCE PERSISTENT VOLUME CLAIM (PVC001) POD CLAIM REFERENCE PERSISTENT VOLUME CLAIM (PVC002) POD CLAIM REFERENCE PERSISTENT VOLUME CLAIM (PVC003)
  • 20. kind: PersistentVolumeClaim apiVersion: v1 metadata: name: dyn-prov-claim annotations: volume.alpha.kubernetes.io/storage-class: aws-ebs spec: accessModes: - ReadWriteOnce resources: requests: storage: 3Gi Available Provisioners: OpenStack Cinder kubernetes.io/cinder AWS Elastic Block Store (EBS) kubernetes.io/aws-ebs GCE Persistent Disk (gcePD) kubernetes.io/gce-pd
  • 21. PROVISION: ● MANUAL ● DYNAMIC AVAILABLE BOUND PV + PVC = RELEASED PV + PVC = FAILURE POD CLAIM REQUEST CLAIM DELETED PENDING RETAIN PV (default policy) volume cannot mount CrashBackLoop
  • 22. PROVISION: ● MANUAL ● DYNAMIC AVAILABLE BOUND PV + PVC = RELEASED PV + PVC = FAILURE POD CLAIM REQUEST POD DELETED PENDING FAILURE RETAIN PV POD CLAIM REQUEST volume cannot mount CrashBackLoop Timing / vague state
  • 24. Pod Security Policy (Upstream) Security Context Constraints (SCC) (OpenShift) ● PSP provides an interface for the security types but enforcement doesn’t exist today ● No admission controller SCCs are objects that define a set of conditions that a pod must run with in order to be accepted into the system. They allow an administrator to control the following: 1. Running of privileged containers. 2. Capabilities a container can request to be added. 3. Use of host directories as volumes. 4. The SELinux context of the container. 5. The user ID. 6. The use of host namespaces and networking. 7. Allocating an FSGroup that owns the pod’s volumes 8. Configuring allowable supplemental groups ● SCC defined by namespace and can be restricted to specific users
  • 25. # ls -ld /opt/nfs # on NFS server drwxrwx---. 2 root 1234 4096 Oct 30 15:27 /opt/nfs kind: Pod metadata: name: nginx-nfs-test spec: containers: - name: nginx-nfs-test image: fedora/nginx ports: - name: web containerPort: 80 volumeMounts: - name: nginx-nfs mountPath: /usr/share/nginx/html/test securityContext: supplementalGroups: [1234] volumes: - name: nginx-nfs persistentVolumeClaim claimName: nfs-claim
  • 26. Currently the list of volumes which support ownership management includes: ● AWS Elastic Block Store ● OpenStack Cinder ● GCE Persistent Disk ● iSCSI ● emptyDir ● Ceph RBD ● gitRepo apiVersion: v1 kind: Pod metadata: name: rbd-web spec: containers: - name: web image: nginx ports: - name: web containerPort: 80 volumeMounts: - name: ceph-rbd mountPath: "/usr/share/nginx/html" securityContext: fsGroup: 1234 volumes: - name: ceph-rbd rbd: monitors: - 192.168.122.133:6789 pool: rbd image: foo user: admin secretRef: name: ceph-secret fsType: ext4 readOnly: false
  • 27. Currently the list of volumes which support SELinux management includes: ● AWS Elastic Block Store ● OpenStack Cinder ● GCE Persistent Disk ● iSCSI ● emptyDir ● Ceph RBD ● gitRepo ● Fibre Channel apiVersion: v1 kind: Pod metadata: name: ebs-web spec: containers: - name: web image: nginx ports: - name: web containerPort: 80 volumeMounts: - name: ebs-volume mountPath: "/usr/share/nginx/html" securityContext: seLinuxOptions: level: "s0:c123,c456" volumes: - name: ebs-volume awsElasticBlockStore: volumeID: <VOLUME ID>