SlideShare a Scribd company logo
GlusterFS &
Kubernetes
The State of GlusterFS Support in
Kubernetes
Joe Julian
● Long time community member.
● Senior Staff Engineer with Samsung SDS/CNCT.
● Certified Kubernetes Administrator (my first cert ever, hope it’s worth the
paper it’s printed on)(I haven’t printed it).
● Insufferable know-it-all with an opinion about everything.
What is Kubernetes
Kubernetes is ancient Greek for "Helmsman". Root
of the word "Governor", "Cybernetics".
Kubernetes is a "Container Orchestrator" or "Cluster
Manager".
● Places containers on nodes
● Recovers automatically from failure
● Basic monitoring, logging, health checking
● Enables containers to find each other.
How can gluster be used with Kubernetes
● Persistent state Containers can be restarted
at any time due to failed
liveness check or
deployment.
How can gluster be used with Kubernetes
● Persistent state
● Shared Storage
Multiple containers may
need to operate on the
same data set.
How can gluster be used with Kubernetes
● Persistent state
● Shared Storage
● Cats
How can gluster be used with Kubernetes
● Persistent state
● Shared Storage
● Cats
GlusterFS volume driver
GlusterFS Volume Driver
volumes:
- name: glusterfsvol
glusterfs:
endpoints: glusterfs-cluster
path: kube_vol
readOnly: true
kind: Endpoints
metadata:
name: glusterfs-cluster
subsets:
- addresses:
- ip: 10.0.0.1
- addresses:
- ip: 10.0.0.1
GlusterFS Volume Driver
containers:
- name: glusterfs
image: nginx
volumeMounts:
- mountPath: "/mnt/glusterfs"
name: glusterfsvol
Mounts the volume to /mnt/glusterfs
in the container’s chroot.
GlusterFS Volume Driver
Pros:
● Works with existing volumes
● Shared data
Cons:
● Not dynamic
● Must be managed externally
● Only shared data
Local-volume storage class
Local-volume storage class
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: myglustervol
namespace: kube-system
provisioner: kubernetes.io/host-path
The code says:
// This Provisioner is meant for
// development and testing only and
// WILL NOT WORK in a multi-node
// cluster.
Local-volume storage class
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: myglustervol
namespace: kube-system
provisioner: kubernetes.io/host-path
The code says:
// This Provisioner is meant for
// development and testing only and
// WILL NOT WORK in a multi-node
// cluster.
Local-volume storage class
● Can only use /tmp/hostpath_pv
● Awkward mount
● No actual allocation restriction
● Works great!
/tmp/hostpath_pv glusterfs gluster:/myvol ...
/tmp/hostpath_pv/{{ uuid }}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: deluge-config
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 50Mi
Heketi
GlusterFS storage class
GlusterFS+Heketi
Heketi provides a REST api for the
configuration of GlusterFS which can be
(and is) used by several infrastructure tools
including Kubernetes. Support for
GlusterFS using Heketi is part of the main
kubernetes tree and has strong
downstream acceptance.
Heketi is the Taíno (a Caribbian
aboriginal) word for “One”.
Heketi
● GlusterFS in pods
● Strongly opinionated cluster design
● Allows metered private PVCs
● Provides an excellent api interface to GlusterFS
Heketi
● GlusterFS in pods (privileged)
● Strongly opinionated cluster design
○ Whole disk
○ volume-per-PVC
● Requires prior knowledge
● Doesn’t follow best practices wrt hostnames vs IP addresses
Rook
Rook
Rook is a completely cloud-native toolset to
provide turnkey storage to kubernetes. It
currently only does so with Ceph, but they
want to add GlusterFS support and are
seeking help.
Rook
What I like about rook:
$ helm repo add rook-alpha https://charts.rook.io/alpha
$ helm install rook-alpha/rook
Rook
● Established provider of ceph storage to kubernetes
● Downstream user = community contributions!
● Enhance the user experience
Rook
● Automated decision making
● Too easy?
● Small team, needs contributions
Glusterd V2?
Questions?
Joe Julian, Samsung SDS
me@joejulian.name
Think about where we’re going with respect to kubernetes.
Contribute to Kubernetes, Rook, Kraken.
Be part of the community!
● Join the sig-storage meetings
● Hang out in #sig-storage on the
kubernetes slack
● Join the rook slack
● Hang out with me in #gluster on IRC
github.com/samsung-cnct/kraken
github.com/kubernetes/kubernetes
github.com/rook/rook
Comment on the Rook + GlusterFS design
document! https://goo.gl/L62Bi2

More Related Content

PDF
Scalability and Performance of CNS 3.6
PDF
Gluster as Native Storage for Containers - past, present and future
PDF
Gluster as Block Store in Containers
PDF
Gluster: a SWOT Analysis
PDF
Heketi Functionality into Glusterd2
ODP
GlusterFS Containers
PDF
Hands On Gluster with Jeff Darcy
PDF
Arbiter volumes in gluster
Scalability and Performance of CNS 3.6
Gluster as Native Storage for Containers - past, present and future
Gluster as Block Store in Containers
Gluster: a SWOT Analysis
Heketi Functionality into Glusterd2
GlusterFS Containers
Hands On Gluster with Jeff Darcy
Arbiter volumes in gluster

What's hot (20)

ODP
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
PDF
Data Reduction for Gluster with VDO
PPTX
Storage in kubernetes
PDF
Kubernetes dealing with storage and persistence
ODP
Accessing gluster ufo_-_eco_willson
ODP
GlusterFS and Openstack Storage
ODP
Persistent Storage in Openshift using GlusterFS
PDF
Persistent Storage with Containers with Kubernetes & OpenShift
PDF
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
PDF
Container orchestration
PPTX
Kubernetes
ODP
Gluster containers!
ODP
Gluster d thread_synchronization_using_urcu_lca2016
PDF
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
ODP
Introduction to highly_availablenfs_server_on_scale-out_storage_systems_based...
PDF
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
PDF
Container (Docker) Orchestration Tools
PDF
Gluster Containerized Storage for Cloud Applications
PDF
GlusterFS w/ Tiered XFS
PDF
Container-relevant Upstream Kernel Developments
GlusterFS Cinder integration presented at GlusterNight Paris event @ Openstac...
Data Reduction for Gluster with VDO
Storage in kubernetes
Kubernetes dealing with storage and persistence
Accessing gluster ufo_-_eco_willson
GlusterFS and Openstack Storage
Persistent Storage in Openshift using GlusterFS
Persistent Storage with Containers with Kubernetes & OpenShift
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Container orchestration
Kubernetes
Gluster containers!
Gluster d thread_synchronization_using_urcu_lca2016
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
Introduction to highly_availablenfs_server_on_scale-out_storage_systems_based...
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Container (Docker) Orchestration Tools
Gluster Containerized Storage for Cloud Applications
GlusterFS w/ Tiered XFS
Container-relevant Upstream Kernel Developments
Ad

Similar to Gluster and Kubernetes (20)

PDF
Google Cloud Platform Kubernetes Workshop IYTE
PDF
Containarized Gluster Storage in Kubernetes
PPTX
Jaspreet webinar-cns
PDF
Intro to Kubernetes
PDF
Glusterfs and openstack
PDF
Gdg izmir kubernetes
PDF
Highly available (ha) kubernetes
PDF
Scaling Microservices with Kubernetes
PDF
Intro to Kubernetes
PPTX
Kubernetes #4 volume & stateful set
PPTX
Kubernetes Stateful Workloads on Legacy Storage
PDF
A guide of PostgreSQL on Kubernetes
PDF
Running Projects in Application Containers, System Containers & VMs - Jelasti...
PDF
Distributed fun with etcd
PPTX
Introduction+to+Kubernetes-Details-D.pptx
PPTX
Kubernetes Internals
PDF
Kubernetes Interview Questions PDF By ScholarHat
PDF
Containerized Storage for Containers: Why, What and How OpenEBS Works
PDF
Kubernetes From Scratch .pdf
PDF
How we can do Multi-Tenancy on Kubernetes
Google Cloud Platform Kubernetes Workshop IYTE
Containarized Gluster Storage in Kubernetes
Jaspreet webinar-cns
Intro to Kubernetes
Glusterfs and openstack
Gdg izmir kubernetes
Highly available (ha) kubernetes
Scaling Microservices with Kubernetes
Intro to Kubernetes
Kubernetes #4 volume & stateful set
Kubernetes Stateful Workloads on Legacy Storage
A guide of PostgreSQL on Kubernetes
Running Projects in Application Containers, System Containers & VMs - Jelasti...
Distributed fun with etcd
Introduction+to+Kubernetes-Details-D.pptx
Kubernetes Internals
Kubernetes Interview Questions PDF By ScholarHat
Containerized Storage for Containers: Why, What and How OpenEBS Works
Kubernetes From Scratch .pdf
How we can do Multi-Tenancy on Kubernetes
Ad

More from Gluster.org (20)

PDF
Automating Gluster @ Facebook - Shreyas Siravara
PDF
nfusr: a new userspace NFS client based on libnfs - Shreyas Siravara
PDF
Facebook’s upstream approach to GlusterFS - David Hasson
PDF
Throttling Traffic at Facebook Scale
PDF
Gluster Metrics: why they are crucial for running stable deployments of all s...
PDF
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
PDF
Releases: What are contributors responsible for
PDF
RIO Distribution: Reconstructing the onion - Shyamsundar Ranganathan
PDF
Native Clients, more the merrier with GFProxy!
PDF
GlusterD-2.0: What's Happening? - Kaushal Madappa
PDF
What Makes Us Fail
PDF
Architecture of the High Availability Solution for Ganesha and Samba with Kal...
PDF
Challenges with Gluster and Persistent Memory with Dan Lambright
PDF
Sharding: Past, Present and Future with Krutika Dhananjay
PDF
State of Gluster Performance
PDF
Integration of Glusterfs in to commvault simpana
PDF
GFProxy: Scaling the GlusterFS FUSE Client
PPTX
Practical Glusto Example
PDF
Object Storage with Gluster
PPTX
Welcome to Gluster Developer Summit 2016
Automating Gluster @ Facebook - Shreyas Siravara
nfusr: a new userspace NFS client based on libnfs - Shreyas Siravara
Facebook’s upstream approach to GlusterFS - David Hasson
Throttling Traffic at Facebook Scale
Gluster Metrics: why they are crucial for running stable deployments of all s...
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Releases: What are contributors responsible for
RIO Distribution: Reconstructing the onion - Shyamsundar Ranganathan
Native Clients, more the merrier with GFProxy!
GlusterD-2.0: What's Happening? - Kaushal Madappa
What Makes Us Fail
Architecture of the High Availability Solution for Ganesha and Samba with Kal...
Challenges with Gluster and Persistent Memory with Dan Lambright
Sharding: Past, Present and Future with Krutika Dhananjay
State of Gluster Performance
Integration of Glusterfs in to commvault simpana
GFProxy: Scaling the GlusterFS FUSE Client
Practical Glusto Example
Object Storage with Gluster
Welcome to Gluster Developer Summit 2016

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Modernizing your data center with Dell and AMD
PDF
cuic standard and advanced reporting.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPT
Teaching material agriculture food technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
KodekX | Application Modernization Development
PDF
Machine learning based COVID-19 study performance prediction
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx
Understanding_Digital_Forensics_Presentation.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Modernizing your data center with Dell and AMD
cuic standard and advanced reporting.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Teaching material agriculture food technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KodekX | Application Modernization Development
Machine learning based COVID-19 study performance prediction
MYSQL Presentation for SQL database connectivity
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Approach and Philosophy of On baking technology
NewMind AI Monthly Chronicles - July 2025
Per capita expenditure prediction using model stacking based on satellite ima...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Spectral efficient network and resource selection model in 5G networks

Gluster and Kubernetes

  • 1. GlusterFS & Kubernetes The State of GlusterFS Support in Kubernetes
  • 2. Joe Julian ● Long time community member. ● Senior Staff Engineer with Samsung SDS/CNCT. ● Certified Kubernetes Administrator (my first cert ever, hope it’s worth the paper it’s printed on)(I haven’t printed it). ● Insufferable know-it-all with an opinion about everything.
  • 3. What is Kubernetes Kubernetes is ancient Greek for "Helmsman". Root of the word "Governor", "Cybernetics". Kubernetes is a "Container Orchestrator" or "Cluster Manager". ● Places containers on nodes ● Recovers automatically from failure ● Basic monitoring, logging, health checking ● Enables containers to find each other.
  • 4. How can gluster be used with Kubernetes ● Persistent state Containers can be restarted at any time due to failed liveness check or deployment.
  • 5. How can gluster be used with Kubernetes ● Persistent state ● Shared Storage Multiple containers may need to operate on the same data set.
  • 6. How can gluster be used with Kubernetes ● Persistent state ● Shared Storage ● Cats
  • 7. How can gluster be used with Kubernetes ● Persistent state ● Shared Storage ● Cats
  • 9. GlusterFS Volume Driver volumes: - name: glusterfsvol glusterfs: endpoints: glusterfs-cluster path: kube_vol readOnly: true kind: Endpoints metadata: name: glusterfs-cluster subsets: - addresses: - ip: 10.0.0.1 - addresses: - ip: 10.0.0.1
  • 10. GlusterFS Volume Driver containers: - name: glusterfs image: nginx volumeMounts: - mountPath: "/mnt/glusterfs" name: glusterfsvol Mounts the volume to /mnt/glusterfs in the container’s chroot.
  • 11. GlusterFS Volume Driver Pros: ● Works with existing volumes ● Shared data Cons: ● Not dynamic ● Must be managed externally ● Only shared data
  • 13. Local-volume storage class kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: myglustervol namespace: kube-system provisioner: kubernetes.io/host-path The code says: // This Provisioner is meant for // development and testing only and // WILL NOT WORK in a multi-node // cluster.
  • 14. Local-volume storage class kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: myglustervol namespace: kube-system provisioner: kubernetes.io/host-path The code says: // This Provisioner is meant for // development and testing only and // WILL NOT WORK in a multi-node // cluster.
  • 15. Local-volume storage class ● Can only use /tmp/hostpath_pv ● Awkward mount ● No actual allocation restriction ● Works great! /tmp/hostpath_pv glusterfs gluster:/myvol ... /tmp/hostpath_pv/{{ uuid }} kind: PersistentVolumeClaim apiVersion: v1 metadata: name: deluge-config spec: accessModes: - ReadWriteMany resources: requests: storage: 50Mi
  • 17. GlusterFS+Heketi Heketi provides a REST api for the configuration of GlusterFS which can be (and is) used by several infrastructure tools including Kubernetes. Support for GlusterFS using Heketi is part of the main kubernetes tree and has strong downstream acceptance. Heketi is the Taíno (a Caribbian aboriginal) word for “One”.
  • 18. Heketi ● GlusterFS in pods ● Strongly opinionated cluster design ● Allows metered private PVCs ● Provides an excellent api interface to GlusterFS
  • 19. Heketi ● GlusterFS in pods (privileged) ● Strongly opinionated cluster design ○ Whole disk ○ volume-per-PVC ● Requires prior knowledge ● Doesn’t follow best practices wrt hostnames vs IP addresses
  • 20. Rook
  • 21. Rook Rook is a completely cloud-native toolset to provide turnkey storage to kubernetes. It currently only does so with Ceph, but they want to add GlusterFS support and are seeking help.
  • 22. Rook What I like about rook: $ helm repo add rook-alpha https://charts.rook.io/alpha $ helm install rook-alpha/rook
  • 23. Rook ● Established provider of ceph storage to kubernetes ● Downstream user = community contributions! ● Enhance the user experience
  • 24. Rook ● Automated decision making ● Too easy? ● Small team, needs contributions
  • 27. Joe Julian, Samsung SDS me@joejulian.name Think about where we’re going with respect to kubernetes. Contribute to Kubernetes, Rook, Kraken. Be part of the community! ● Join the sig-storage meetings ● Hang out in #sig-storage on the kubernetes slack ● Join the rook slack ● Hang out with me in #gluster on IRC github.com/samsung-cnct/kraken github.com/kubernetes/kubernetes github.com/rook/rook Comment on the Rook + GlusterFS design document! https://goo.gl/L62Bi2