SlideShare a Scribd company logo
Running Stateful Applications in
Containers with K8S Persistent
Volumes and StatefulSets
OpenStack Summit, Vancouver
Kapil Arora
Solution Architect, NetApp EMEA
May 23, 2018
Agenda
1) Stateful Apps and Persistent Data
2) K8S Persistent Data Concepts
3) Static vs Dynamic Provisioning
4) NetApp Trident
5) PostgreSQL Demo
2 © 2018 NetApp, Inc. All rights reserved.
Stateful Apps and Persistent Data
3 © 2018 NetApp, Inc. All rights reserved.
Stateful Apps
§ SQL Databases
§ MySQL, PostgreSQL, SQL Server
§ NoSQL Databases
§ MongoDB, ElasticSearch, Redis, Cassandra
§ Pub Sub Systems
§ Kafka
§ Time series Databases
§ InfluxDB, Graphite
§ Big Data
§ Splunk
For Example
4 © 2018 NetApp, Inc. All rights reserved.
Persistent Data
§ Object
§ S3, Swift
§ File
§ NFS, SMB, Manila, GlusterFS
§ Block
§ iSCSI, FC, EBS, Cinder
For Example
5 © 2018 NetApp, Inc. All rights reserved.
Kubernetes Volume Plugins
6 © 2018 NetApp, Inc. All rights reserved.
Kubernetes Volume Plugins
§ Reference block
device and
mounted file
system
§ Accesible by all
containers in a pod
§ Lifetime of a
volume is same as
the pod (or longer)
7 © 2018 NetApp, Inc. All rights reserved.
Kubernetes Node
Volume
POD
kubelet Docker
NFSVol1
NFSiSCSI
Cinder
Azure
Disk
GCE
PD
EBS
RDB
VOLUME PLUGINS
and more…
§ Remote
§ GCEPersistentDisk
§ AWSElasticBlockStore
§ AzureFile, AzureDisk
§ iSCSI , FC
§ Flocker
§ NFS
§ RBD, CephFS, GlusterFS
§ Cinder
§ VsphereVolume, VMware Photon
§ Quobyte Volumes
§ Portworx Volumes
§ ScaleIO Volumes
§ StorageOS
Kubernetes Volume Plugins
§ Ephemeral
§ Empty Dir
§ Secret
§ ConfigMap
§ Local Persistent Volume (beta)
§ Out-of-tree
§ CSI (beta)
§ Other
§ Host path
8 © 2018 NetApp, Inc. All rights reserved.
Example
§ Cinder Volume in a Pod
9 © 2018 NetApp, Inc. All rights reserved.
Example
§ EBS Volume in a Pod
10 © 2018 NetApp, Inc. All rights reserved.
Example
§ iSCSI volume in a Pod
11 © 2018 NetApp, Inc. All rights reserved.
Decouple storage implementation from consumption
PV and PVC Abstraction
12 © 2018 NetApp, Inc. All rights reserved.
Administrator creates a PV
§ PV: PersistentVolume API Object
• Configured for backing storage device
• NFS, iSCSI, Cinder, AWS EBS, GCE, Azure
• Includes connection information for the
storage volume
§ Example: NFS PV
13 © 2018 NetApp, Inc. All rights reserved.
User Creates PVC
§ PVC
§ PersistentVolumeClaim API Object
• Created by a user to request storage
§ User provides:
§ Size
§ Access mode
§ Storage class (optional)
• Kubernetes assigns a PV to meet
the requirements requested in the
PVC
• Does not require an exact match for
capacity
14 © 2018 NetApp, Inc. All rights reserved.
User provides PVC name in the Pod/Deployment
§ PVC claim name
§ mount path
15 © 2018 NetApp, Inc. All rights reserved.
Kubernetes Static Provisioning
16 © 2018 NetApp, Inc. All rights reserved.
K8SUser / Developer
Cluster / IT Admin
PV
5 GB
RWO
iSCSI
POD
PVC
5 GB
RWO
K8S PV
Controller
PersistentVolumeClaim PersistentVolume
Storage
POD
PVC
8 GB
RWO PV
10 GB
RWO
NFS
Storage Classes and Dynamic
Provisioning
17 © 2018 NetApp, Inc. All rights reserved.
StorageClass
§ Administrators can classify different storage types in the K8s environment using Storage
classes
§ Example
§ SSD/HDD
§ QoS
§ Dedupe/compression
§ Protocol: iSCSI/NFS
§ Etc.
§ Abstract underlying storage
§ E.g. Gold::Silver::Bronze
18 © 2018 NetApp, Inc. All rights reserved.
SC Example
§ Cinder
19 © 2018 NetApp, Inc. All rights reserved.
SC Example
§ NetApp ONTAP
§ NFS
§ SSD
20 © 2018 NetApp, Inc. All rights reserved.
Kubernetes Dynamic Provisioining
21 © 2018 NetApp, Inc. All rights reserved.
OpenShiftUser / Developer
Cluster / IT Admin
PV
8 GB
RWO
NFS
POD
PVC
8 GB
RWO
GOLD
K8S PV
Controller
PersistentVolumeClaim StorageClass
Gold
SSD
block
iSCSI
Bronze
HDD
NetApp
NetApp
Provisioner
(Trident)
NetApp Trident
22 © 2018 NetApp, Inc. All rights reserved.
Trident for Kubernetes
§ NetApp's Open source dynamic storage provisioner supporting:
§ ONTAP
§ SolidFire
§ E-Series
§ Automates Volume Creation and Mapping
§ Compatible with:
§ Kubernetes
§ OpenShift Origin & RedHat OCP
§ Snapshot and Cloning enabled
§ Available on GitHub: https://github.com/NetApp/trident
23 © 2018 NetApp, Inc. All rights reserved.
Resource Quotas
§ Kubernetes Resource Quotas
§ https://kubernetes.io/docs/concepts/policy/resource-quotas/
§ Blog
§ https://netapp.io/2017/06/09/self-provisioning-storage-kubernetes-without-worry/
§ Set Limits on
§ requests.storage
§ value.storageclass.storage.k8s.io/requests.storage
§ persistentvolumeclaims
§ value.storageclass.storage.k8s.io/persistentvolumeclaims
24 © 2018 NetApp, Inc. All rights reserved.
Future
§ Container Storage Interface (CSI)
§ Moving towards an industry standard, orchestrator-agnostic basic
storage abstraction
§ Standard API
§ Now Beta!
§ Spec
§ https://github.com/container-storage-interface/spec
§ Blog
§ https://kubernetes.io/blog/2018/04/10/container-storage-interface-
beta/
25 © 2018 NetApp, Inc. All rights reserved.
Demo : PostgreSQL
26 © 2018 NetApp, Inc. All rights reserved.
27 © 2018 NetApp, Inc. All rights reserved.
Kubernetes-cluster
psql StatefulSet
(master)
psql
pod-0
(replica)
psql
pod-1
(replica)
psql
pod-2
pv-1 pv-3pv-2
psql
service
master
psql
service
psql
service
replica
pvc-1 pvc-3pvc-2
Dynamic Storage
Provisioner
Helm / Tiller
Why use Helm?
§ Standardized deployments
§ Build a catalog for users
§ Repeatable and predictable deployments
§ Follow best practices
28 © 2018 NetApp, Inc. All rights reserved.
StatefulSets
When and Why?
29 © 2018 NetApp, Inc. All rights reserved.
State
+
Scale
Unique
Network IDs
Ordered
Deployment
&
Termination
30 © 2018 NetApp, Inc. All rights reserved.
Trident
postgresql-
pv-0
postgresql-statefulset
(replica=3)
postgresql-pod-0
postgresql-
container
postgresql-
pvc-0
postgresql-
service
port: 5432
postgresql-pod-1
postgresql-
container
postgresql-pod-2
postgresql-
container
postgresql-
pv-1
postgresql-
pvc-1
postgresql-
pv-2
postgresql-
pvc-2
Deploy postgresqlDB 3 replica StatefulSet
31 © 2018 NetApp, Inc. All rights reserved.
§ Stateful Apps run on Kubernetes
§ PV, PVC and StorageClass
§ Static vs Dynamic provisioning
§ NetApp Trident
§ CSI
32
Summary
© 2018 NetApp, Inc. All rights reserved.
§ Blog and Video
§ https://netapp.io/2018/03/21/deploy-postgresql-using-kubernetes-helm-trident/
§ PostgreSQL sample Helm Chart
§ https://github.com/NetAppEMEA/kubernetes-netapp
§ NetApp Trident
§ https://github.com/NetApp/trident
33 © 2018 NetApp, Inc. All rights reserved.
Resources
thePub: NetApp’s Developer and Open Source Community
Engage with NetApp Engineers, Partners, and Customers
© 2018 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---34
GitHub
github.com/NetApp/trident
thePub
netapp.io
Twitter
@NetAppPub
Slack
netapp.io/slack
NetApp website
nt-ap.com/2CneVeR
35
Thank You
© 2018 NetApp, Inc. All rights reserved.

More Related Content

What's hot (20)

PDF
A TRUE STORY ABOUT DATABASE ORCHESTRATION
InfluxData
 
PDF
Kubernetes Meetup - Seattle 2017-06-01
Bassam Tabbara
 
ODP
Cloud Native Java Development Patterns
Bilgin Ibryam
 
PDF
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
PDF
Microservices and Cloud Native Apps Meetup with Diamanti and Nirmata
Fred Love
 
PDF
19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s world
Dávid Kőszeghy
 
PDF
Intro to creating kubernetes operators
Juraj Hantak
 
PDF
Containerized Storage for Containers
Murat Karslioglu
 
PDF
Red hat storage objects, containers and Beyond!
andreas kuncoro
 
PDF
Monitor Kubernetes in Rancher using InfluxData
InfluxData
 
PPTX
Red Hat Storage Day Dallas - Gluster Storage in Containerized Application
Red_Hat_Storage
 
PDF
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
South Tyrol Free Software Conference
 
PDF
Aerospike AdTech Gets Hacked in Lower Manhattan
Aerospike
 
PDF
Introducing TiDB Operator
Kevin Xu
 
PDF
12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETES
Zalando adtech lab
 
PDF
The Kubernetes Effect
Bilgin Ibryam
 
PDF
Cncf storage-final-filip
Juraj Hantak
 
PDF
Introducing Kubestr - A New Way to Explore Your Kubernetes Storage Options
LibbySchulze
 
PDF
Cloud Native Patterns
Bilgin Ibryam
 
PDF
7 - Monitoring Kubernetes with Elastic
Kangaroot
 
A TRUE STORY ABOUT DATABASE ORCHESTRATION
InfluxData
 
Kubernetes Meetup - Seattle 2017-06-01
Bassam Tabbara
 
Cloud Native Java Development Patterns
Bilgin Ibryam
 
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
Microservices and Cloud Native Apps Meetup with Diamanti and Nirmata
Fred Love
 
19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s world
Dávid Kőszeghy
 
Intro to creating kubernetes operators
Juraj Hantak
 
Containerized Storage for Containers
Murat Karslioglu
 
Red hat storage objects, containers and Beyond!
andreas kuncoro
 
Monitor Kubernetes in Rancher using InfluxData
InfluxData
 
Red Hat Storage Day Dallas - Gluster Storage in Containerized Application
Red_Hat_Storage
 
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
South Tyrol Free Software Conference
 
Aerospike AdTech Gets Hacked in Lower Manhattan
Aerospike
 
Introducing TiDB Operator
Kevin Xu
 
12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETES
Zalando adtech lab
 
The Kubernetes Effect
Bilgin Ibryam
 
Cncf storage-final-filip
Juraj Hantak
 
Introducing Kubestr - A New Way to Explore Your Kubernetes Storage Options
LibbySchulze
 
Cloud Native Patterns
Bilgin Ibryam
 
7 - Monitoring Kubernetes with Elastic
Kangaroot
 

Similar to Running stateful applications in containers with k8 s persistent volumes and statefulsets (20)

PDF
Think like a storage architect, in four questions
Cheryl Hung
 
PPTX
DTW18 - code08 - Everything You Need To Know About Storage with Kubernetes
Kendrick Coleman
 
PDF
DCEU 18: Provisioning and Managing Storage for Docker Containers
Docker, Inc.
 
PDF
Containers and Kubernetes
Altoros
 
PPTX
Everything You Need To Know About Persistent Storage in Kubernetes
The {code} Team
 
PDF
How to manage stateful applications in Kubernetes
Florian Woerner
 
PPTX
Kubernetes Storage Webinar.pptx
Enrico Rampazzo
 
PDF
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
PDF
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
PDF
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Inc
 
PDF
Introduction to Container Storage
Cheryl Hung
 
PDF
Introduction to Container Storage
Cheryl Hung
 
PDF
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
PDF
DevOps Spain 2019. Jaime Balañá-NetApp
atSistemas
 
PDF
Storage os kubernetes clusters need persistent data
LibbySchulze
 
PDF
Solving k8s persistent workloads using k8s DevOps style
MayaData
 
PPTX
Robust Applications in Mesos using External Storage
David vonThenen
 
PDF
Container Attached Storage with OpenEBS - CNCF Paris Meetup
MayaData Inc
 
PDF
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
PDF
Persistent Storage with Containers with Kubernetes & OpenShift
Red Hat Events
 
Think like a storage architect, in four questions
Cheryl Hung
 
DTW18 - code08 - Everything You Need To Know About Storage with Kubernetes
Kendrick Coleman
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
Docker, Inc.
 
Containers and Kubernetes
Altoros
 
Everything You Need To Know About Persistent Storage in Kubernetes
The {code} Team
 
How to manage stateful applications in Kubernetes
Florian Woerner
 
Kubernetes Storage Webinar.pptx
Enrico Rampazzo
 
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Inc
 
Introduction to Container Storage
Cheryl Hung
 
Introduction to Container Storage
Cheryl Hung
 
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
DevOps Spain 2019. Jaime Balañá-NetApp
atSistemas
 
Storage os kubernetes clusters need persistent data
LibbySchulze
 
Solving k8s persistent workloads using k8s DevOps style
MayaData
 
Robust Applications in Mesos using External Storage
David vonThenen
 
Container Attached Storage with OpenEBS - CNCF Paris Meetup
MayaData Inc
 
Persistent Storage with Kubernetes in Production
Cheryl Hung
 
Persistent Storage with Containers with Kubernetes & OpenShift
Red Hat Events
 
Ad

Recently uploaded (20)

PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Python basic programing language for automation
DanialHabibi2
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Ad

Running stateful applications in containers with k8 s persistent volumes and statefulsets

  • 1. Running Stateful Applications in Containers with K8S Persistent Volumes and StatefulSets OpenStack Summit, Vancouver Kapil Arora Solution Architect, NetApp EMEA May 23, 2018
  • 2. Agenda 1) Stateful Apps and Persistent Data 2) K8S Persistent Data Concepts 3) Static vs Dynamic Provisioning 4) NetApp Trident 5) PostgreSQL Demo 2 © 2018 NetApp, Inc. All rights reserved.
  • 3. Stateful Apps and Persistent Data 3 © 2018 NetApp, Inc. All rights reserved.
  • 4. Stateful Apps § SQL Databases § MySQL, PostgreSQL, SQL Server § NoSQL Databases § MongoDB, ElasticSearch, Redis, Cassandra § Pub Sub Systems § Kafka § Time series Databases § InfluxDB, Graphite § Big Data § Splunk For Example 4 © 2018 NetApp, Inc. All rights reserved.
  • 5. Persistent Data § Object § S3, Swift § File § NFS, SMB, Manila, GlusterFS § Block § iSCSI, FC, EBS, Cinder For Example 5 © 2018 NetApp, Inc. All rights reserved.
  • 6. Kubernetes Volume Plugins 6 © 2018 NetApp, Inc. All rights reserved.
  • 7. Kubernetes Volume Plugins § Reference block device and mounted file system § Accesible by all containers in a pod § Lifetime of a volume is same as the pod (or longer) 7 © 2018 NetApp, Inc. All rights reserved. Kubernetes Node Volume POD kubelet Docker NFSVol1 NFSiSCSI Cinder Azure Disk GCE PD EBS RDB VOLUME PLUGINS and more…
  • 8. § Remote § GCEPersistentDisk § AWSElasticBlockStore § AzureFile, AzureDisk § iSCSI , FC § Flocker § NFS § RBD, CephFS, GlusterFS § Cinder § VsphereVolume, VMware Photon § Quobyte Volumes § Portworx Volumes § ScaleIO Volumes § StorageOS Kubernetes Volume Plugins § Ephemeral § Empty Dir § Secret § ConfigMap § Local Persistent Volume (beta) § Out-of-tree § CSI (beta) § Other § Host path 8 © 2018 NetApp, Inc. All rights reserved.
  • 9. Example § Cinder Volume in a Pod 9 © 2018 NetApp, Inc. All rights reserved.
  • 10. Example § EBS Volume in a Pod 10 © 2018 NetApp, Inc. All rights reserved.
  • 11. Example § iSCSI volume in a Pod 11 © 2018 NetApp, Inc. All rights reserved.
  • 12. Decouple storage implementation from consumption PV and PVC Abstraction 12 © 2018 NetApp, Inc. All rights reserved.
  • 13. Administrator creates a PV § PV: PersistentVolume API Object • Configured for backing storage device • NFS, iSCSI, Cinder, AWS EBS, GCE, Azure • Includes connection information for the storage volume § Example: NFS PV 13 © 2018 NetApp, Inc. All rights reserved.
  • 14. User Creates PVC § PVC § PersistentVolumeClaim API Object • Created by a user to request storage § User provides: § Size § Access mode § Storage class (optional) • Kubernetes assigns a PV to meet the requirements requested in the PVC • Does not require an exact match for capacity 14 © 2018 NetApp, Inc. All rights reserved.
  • 15. User provides PVC name in the Pod/Deployment § PVC claim name § mount path 15 © 2018 NetApp, Inc. All rights reserved.
  • 16. Kubernetes Static Provisioning 16 © 2018 NetApp, Inc. All rights reserved. K8SUser / Developer Cluster / IT Admin PV 5 GB RWO iSCSI POD PVC 5 GB RWO K8S PV Controller PersistentVolumeClaim PersistentVolume Storage POD PVC 8 GB RWO PV 10 GB RWO NFS
  • 17. Storage Classes and Dynamic Provisioning 17 © 2018 NetApp, Inc. All rights reserved.
  • 18. StorageClass § Administrators can classify different storage types in the K8s environment using Storage classes § Example § SSD/HDD § QoS § Dedupe/compression § Protocol: iSCSI/NFS § Etc. § Abstract underlying storage § E.g. Gold::Silver::Bronze 18 © 2018 NetApp, Inc. All rights reserved.
  • 19. SC Example § Cinder 19 © 2018 NetApp, Inc. All rights reserved.
  • 20. SC Example § NetApp ONTAP § NFS § SSD 20 © 2018 NetApp, Inc. All rights reserved.
  • 21. Kubernetes Dynamic Provisioining 21 © 2018 NetApp, Inc. All rights reserved. OpenShiftUser / Developer Cluster / IT Admin PV 8 GB RWO NFS POD PVC 8 GB RWO GOLD K8S PV Controller PersistentVolumeClaim StorageClass Gold SSD block iSCSI Bronze HDD NetApp NetApp Provisioner (Trident)
  • 22. NetApp Trident 22 © 2018 NetApp, Inc. All rights reserved.
  • 23. Trident for Kubernetes § NetApp's Open source dynamic storage provisioner supporting: § ONTAP § SolidFire § E-Series § Automates Volume Creation and Mapping § Compatible with: § Kubernetes § OpenShift Origin & RedHat OCP § Snapshot and Cloning enabled § Available on GitHub: https://github.com/NetApp/trident 23 © 2018 NetApp, Inc. All rights reserved.
  • 24. Resource Quotas § Kubernetes Resource Quotas § https://kubernetes.io/docs/concepts/policy/resource-quotas/ § Blog § https://netapp.io/2017/06/09/self-provisioning-storage-kubernetes-without-worry/ § Set Limits on § requests.storage § value.storageclass.storage.k8s.io/requests.storage § persistentvolumeclaims § value.storageclass.storage.k8s.io/persistentvolumeclaims 24 © 2018 NetApp, Inc. All rights reserved.
  • 25. Future § Container Storage Interface (CSI) § Moving towards an industry standard, orchestrator-agnostic basic storage abstraction § Standard API § Now Beta! § Spec § https://github.com/container-storage-interface/spec § Blog § https://kubernetes.io/blog/2018/04/10/container-storage-interface- beta/ 25 © 2018 NetApp, Inc. All rights reserved.
  • 26. Demo : PostgreSQL 26 © 2018 NetApp, Inc. All rights reserved.
  • 27. 27 © 2018 NetApp, Inc. All rights reserved. Kubernetes-cluster psql StatefulSet (master) psql pod-0 (replica) psql pod-1 (replica) psql pod-2 pv-1 pv-3pv-2 psql service master psql service psql service replica pvc-1 pvc-3pvc-2 Dynamic Storage Provisioner Helm / Tiller
  • 28. Why use Helm? § Standardized deployments § Build a catalog for users § Repeatable and predictable deployments § Follow best practices 28 © 2018 NetApp, Inc. All rights reserved.
  • 29. StatefulSets When and Why? 29 © 2018 NetApp, Inc. All rights reserved. State + Scale Unique Network IDs Ordered Deployment & Termination
  • 30. 30 © 2018 NetApp, Inc. All rights reserved. Trident postgresql- pv-0 postgresql-statefulset (replica=3) postgresql-pod-0 postgresql- container postgresql- pvc-0 postgresql- service port: 5432 postgresql-pod-1 postgresql- container postgresql-pod-2 postgresql- container postgresql- pv-1 postgresql- pvc-1 postgresql- pv-2 postgresql- pvc-2 Deploy postgresqlDB 3 replica StatefulSet
  • 31. 31 © 2018 NetApp, Inc. All rights reserved.
  • 32. § Stateful Apps run on Kubernetes § PV, PVC and StorageClass § Static vs Dynamic provisioning § NetApp Trident § CSI 32 Summary © 2018 NetApp, Inc. All rights reserved.
  • 33. § Blog and Video § https://netapp.io/2018/03/21/deploy-postgresql-using-kubernetes-helm-trident/ § PostgreSQL sample Helm Chart § https://github.com/NetAppEMEA/kubernetes-netapp § NetApp Trident § https://github.com/NetApp/trident 33 © 2018 NetApp, Inc. All rights reserved. Resources
  • 34. thePub: NetApp’s Developer and Open Source Community Engage with NetApp Engineers, Partners, and Customers © 2018 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---34 GitHub github.com/NetApp/trident thePub netapp.io Twitter @NetAppPub Slack netapp.io/slack NetApp website nt-ap.com/2CneVeR
  • 35. 35 Thank You © 2018 NetApp, Inc. All rights reserved.