SlideShare a Scribd company logo
Container Native Storage on Openshift
Container Platform
Jaspreet Kaur
Senior TSE(Openshift Support)
AGENDA
● Introduction
● The Journey So Far for OpenShift Storage
● Why CNS?
● What’s shipping today
● New features in CNS 3.6
● Ref Architectures
● Q/A
- Break the assumption that “Containers are for stateless workloads only“.
Containers are not persistent by default. App data is lost when containers die.
- Why is container storage a pain point?
Complex. Even more complicated when container orchestration is involved and applications
need to be scaled out.Provide a solution that will run GlusterFs as containers in Openshift
pods
- Why Red Hat Container-Native Storage (CNS)?
Advanced storage capabilities, deeper integration with OpenShift, better price/performance
than traditional storage CNS is open, scalable and has consistent user experience across the
hybrid cloud (compliments the OpenShift value proposition).
Introduction
The Journey So Far
Storage Options for OpenShift: Cloud
Provider Storage
AUTOMATED CONFIGURATIONNFS
Amazon EBS
Azure Disk
GCE Disk
iSCSI
Ceph RBD
SINGLE CONTROL PANEL
GlusterFS
* very new, handle with care
CHOICE FOR PERSISTENT STORAGE
ISCSI
Amazon EBS
Azure Disk
GCE Disk
Storage Options for OpenShift: NFS
WELL UNDERSTOOD, EASY TO DEMO
PROVIDES RWX STORAGE
NO HA, NOT AVAILABLE IN THE CLOUD
NFS
REQUIRES PRE-PROVISIONING
Storage Options for OpenShift: iSCSI
WELL UNDERSTOOD IN THE DC
BLOCK STORAGE, NO RWX SUPPORT
NOT AVAILABLE IN THE CLOUD
NFS
REQUIRES PRE-PROVISIONING
iSCSI
Storage Options for OpenShift: Cloud
Provider Storage
AVAILABLE IN THE CLOUD
NOT AVAILABLE ACROSS AZs
PERFORMANCE DEPENDS ON SIZE
NFS
Azure Disk
GCE Disk
BLOCK STORAGE, NO RWX SUPPORT
iSCSI
Amazon EBS
Storage Options for OpenShift: Cloud
Provider Storage
SCALABLE, HA
CINDER PREFERRED FOR OCP on OSP
NFS
Amazon EBS
Azure Disk
GCE Disk
iSCSI
Ceph RBD
BLOCK STORAGE, NO RWX SUPPORT
Storage Options for OpenShift: Cloud
Provider Storage
RUNS ON TOP OF OPENSHIFT
GEO-REPLICATION, SNAPSHOTS*
NFS
Amazon EBS
Azure Disk
GCE Disk
iSCSI
Ceph RBD
SCALABLE FILE STORAGE, RWX, RWO*
SUPPORT
GlusterFS
* very new, handle with care
AVAILABLE EVERYWHERE
S3 OBJECT STORAGE FOR APPS
ISCSI
Amazon EBS
Azure Disk
GCE Disk
● Storage provided by a
dedicated Red Hat Gluster
Storage Cluster over the
network outside OpenShift
● Red Hat Gluster Storage can
run bare metal or VMs
● Storage and compute can
scale independently
Deployment Option-1: Container Ready Storage (CRS)
Paradigm Shift
Traditional Storage Management
Converged Storage Management
● Fully featured scale-out
storage platform (RHGS) runs
inside OpenShift in containers
(kubernetes pods)
● Application and storage
containers can be co-located
● Storage services are managed,
scaled and upgraded like app
containers
Deployment Option-2: Container-Native Storage (CNS)
Why should you care ?
Consistent Storage Experience
Storage Consolidation
Container-native
Storage
EBS gp2
EBS gp2
EBS st1
EBS io1
vs.
EBS sc1
Simplify Container Availability
AVAILABILITY
ZONE A
AVAILABILITY
ZONE B
AVAILABILITY
ZONE C
Node Node Node Node Node Node
GLOBAL STORAGE NAMESPACE
● Storage can run as a set of micro-services inside
OpenShift - no external appliance needed
● Consistent storage experience across the hybrid cloud
● Storage Consolidation
● Multi purpose (RWO, RWX, object), flexible & versatile
Container Native Storage - Our Advantage
● CNS: providing dynamic persistent storage for openshift with
GlusterFS in a hyper-converged fashion
● Heketi: the high-level service interface to manage the lifecycle of
volumes in multiple Gluster clusters.
Openshift ⇐⇒ Heketi ⇐⇒ Gluster
What is CNS … and what is Heketi?
● openshift/kubernetes
○ dynamic glusterfs provisioner
○ glusterfs plugin
● Heketi
○ high-level service interface for gluster volume lifecycle management
● glusterfs:
○ one or more glusterfs clusters
○ running hyper-converged in openshift
● cns-deploy:
○ tool to deploy gluster and heketi into an existing openshift cluster
Components of CNS
PVC(created by user) references the glusterfs provisioner.
● glusterfs provisioner extracts details from PVC
● provisioner tells heketi to create a volume if given size and type.
> heketi looks for a gluster cluster that can satisfy this request
> if found, heketi tells the gluster instance to create the volume.
> gluster creates a volume
> Heketi hands volume back to provisioner
● provisioner creates PV and puts the gluster volume details into it.
● provisioner puts glusterfs as the mount plugin into the pv
● provisioner returns PV to the caller
PVC is bound to the PV and can later be in a pod by the user
PV creation: glusterfs dynamic provisioner
Workflow with Dynamic Provisioning
Persistent Volume Claim is
submitted
Workflow with Dynamic Provisioning
Openshift request volume to be created
Workflow with Dynamic Provisioning
Persistent volume is created by storage system
and registered with Openshift
Workflow with Dynamic Provisioning
Volume can now be used by Pod to provide
persistent storage
What’s Shipping Today
CONTAINER-NATIVE STORAGE ON OPENSHIFT
INFRA
CONTAINER-NATIVE STORAGE ON OPENSHIFT
POD
CONTAINERIZED
RED HAT GLUSTER STORAGE
RHEL HOST OS
RED HAT
GLUSTER POD
GLUSTER
VOLUMES
PHYSICAL DISKHOST NETWORK
CONTAINER-NATIVE STORAGE ON OPENSHIFT
POD
RHGS
POD
RHGS
POD
RHGS
POD
RHGS
POD
INFRA
POD
INFRA
HEKETI
RESTFUL GLUSTERFS
MANAGEMENT
RED HAT
HEKETI POD
REST API
GLUSTERFS PODS
● Container Ready Storage serving out storage to OpenShift with:
○ RHGS in stand-alone bare-metal storage clusters
○ RHGS inside VMs (VMware most popular) on bare-metal hosts
○ RHGS inside VMs fronting Enterprise Storage Arrays
■ RHGS sits between OpenShift and Storage Arrays
■ LUNs are served out as RHGS bricks
○ RHGS in AWS, Azure, Google Cloud
● Container-Native Storage
○ RHGS runs containerized inside OpenShift Container Platform (always
with Heketi)
○ CNS runs anywhere OCP runs!
Container Storage Deployments
Container Storage Use Cases
● Local Storage for Container Images
● OpenShift Infra (registry,logging &
metrics)
● Persistent Storage for Applications
OpenShift Registry on CNS
OPENSHIFT INTERNAL
REGISTRY
POD
OPENSHIFT
REGISTRY
OPENSHIFT INTERNAL
REGISTRY
POD
OPENSHIFT
REGISTRY
OPENSHIFT INTERNAL
REGISTRY
POD
OPENSHIFT
REGISTRY
RED HAT GLUSTER CONTAINER-NATIVE STORAGE
Scalable Highly-Available Automated Integrated
PERSISTENT VOLUME
● Brick multiplexing introduced in CNS 3.6
● Optimized storage for logging and metrics.
● Support a scaleout registry.
● S3 object storage for applications.
New features of CNS 3.6
Brick multiplexing in CNS 3.6
● With brick-multiplexing, only one glusterfsd
process is governing the bricks such that the
amount of memory consumption of GlusterFS
pods is drastically reduced and the scalability is
significantly improved.
● In 3.6, we are able to support over 1,000
PersistentVolumes in a single container-
native storage cluster. The amount of memory
consumed increases linearly, so that 32GB of
RAM are only needed at the high end of that.
The rule of thumb is roughly 30-35 MB RAM per
volume on each of the participating GlusterFS
pods.
Optimized storage for Logging and Metrics
● Container-Native Storage version 3.6 now
provides backend storage for OpenShift
Logging and OpenShift Metrics with gluster-
block. For the moment, the use of gluster-block
in production is only supported for OpenShift
Logging and Metrics services, but use of gluster-
block beyond that is under qualification, and
support is expected to be extended soon.
● The OpenShift Advanced Installer now supports deploying container-native storage and the registry on
container-native storage out of the box.
● All you have to do since OpenShift Container Platform 3.6 is add a few lines to your Ansible inventory file.To deploy an
OpenShift registry backed by container-native storage, first add the following variable definition in the [OSEv3:vars]
section:
openshift_hosted_registry_storage_kind=glusterfs
● And then add a new host group defining the container-native storage nodes to the inventory, for example:
[glusterfs_registry]
infra-1.lab glusterfs_devices='[ "/dev/sdd" ]'
infra-2.lab glusterfs_devices='[ "/dev/sdd" ]'
infra-3.lab glusterfs_devices='[ "/dev/sdd" ]'
Support a scaleout registry
S3 object storage for applications
● Container-Native Storage 3.6 now provides an
S3 object storage interface as a TechPreview.
Application developers have a ready-to-use REST
API at hand to provide object storage to workloads
on OpenShift, just a HTTP PUT or GET request
away.
● Object storage in CNS 3.6 provides a simple yet
scalable storage layer for distributed applications
that were previously tied to specific cloud provider
S3 object storage. These application now run with
little or no modification on OpenShift.
AWS Reference Architecture Description
OpenShift 3.5 with Container Native Storage on Amazon Web Services Reference Architecture:
https://access.redhat.com/articles/3018151. Ansible playbooks and deplyment scripts found here:
https://github.com/openshift/openshift-ansible-contrib/tree/master/reference-architecture.
VMware Reference Architecture Description
OpenShift 3.6 with Container Native Storage on VMware Reference Architecture: New RA
Available July 2017. Ansible playbooks and deplyment scripts found here:
https://github.com/openshift/openshift-ansible-contrib/tree/master/reference-architecture.
● https://github.com/gluster/gluster-kubernetes
● https://github.com/heketi/heketi
● https://github.com/kubernetes/kubernetes : pkg/volume/glusterfs/
● https://github.com/gluster/glusterfs
Open Source! ⇒ Upstream Bits
● pod: group of one or more containers that form an entity
● persistent volume (PV): to be mounted by application pod
● provisioner: to provide PVs upon request
● plugin: mechanism to mount the PV, referenced in PV
● persistent volume claim (PVC): mechanism for a user to request a PV
● Access types for volumes:
○ RWO - read write once (single node)
○ RWX - read write many (multiple nodes)
○ ROX - read only many (multiple nodes)
● flavors of provisioning: dynamic and static
Glossary: OpenShift/Kube Storage
THANK YOU

More Related Content

PPTX
OpenEBS hangout #4
OpenEBS
 
PDF
Container Attached Storage (CAS) with OpenEBS - Berlin Kubernetes Meetup - Ma...
OpenEBS
 
PDF
Ceph storage for ocp deploying and managing ceph on top of open shift conta...
OrFriedmann
 
PDF
Gluster and Kubernetes
Gluster.org
 
PPTX
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
Ian Colle
 
PPTX
Ceph and OpenStack - Feb 2014
Ian Colle
 
PDF
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Deepak Shetty
 
PDF
Glusterfs and openstack
openstackindia
 
OpenEBS hangout #4
OpenEBS
 
Container Attached Storage (CAS) with OpenEBS - Berlin Kubernetes Meetup - Ma...
OpenEBS
 
Ceph storage for ocp deploying and managing ceph on top of open shift conta...
OrFriedmann
 
Gluster and Kubernetes
Gluster.org
 
What is a Ceph (and why do I care). OpenStack storage - Colorado OpenStack Me...
Ian Colle
 
Ceph and OpenStack - Feb 2014
Ian Colle
 
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Deepak Shetty
 
Glusterfs and openstack
openstackindia
 

What's hot (20)

PDF
The Future of GlusterFS and Gluster.org
John Mark Walker
 
PDF
How to Survive an OpenStack Cloud Meltdown with Ceph
Sean Cohen
 
PDF
2015 open storage workshop ceph software defined storage
Andrew Underwood
 
PPTX
Designing for High Performance Ceph at Scale
James Saint-Rossy
 
PDF
Red Hat Ceph Storage Roadmap: January 2016
Red_Hat_Storage
 
PDF
Ceph and Mirantis OpenStack
Mirantis
 
PDF
Ceph - A distributed storage system
Italo Santos
 
PDF
Red Hat Storage Server For AWS
Red_Hat_Storage
 
PDF
Storage tiering and erasure coding in Ceph (SCaLE13x)
Sage Weil
 
PDF
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Odinot Stanislas
 
PDF
Red Hat Storage - Introduction to GlusterFS
GlusterFS
 
PDF
Tutorial ceph-2
Tommy Lee
 
PPTX
MySQL on Ceph
Kyle Bader
 
ODP
Block Storage For VMs With Ceph
The Linux Foundation
 
PDF
Quick-and-Easy Deployment of a Ceph Storage Cluster
Patrick Quairoli
 
PPTX
Storage in kubernetes
Peeyush Gupta
 
ODP
Red Hat Gluster Storage : GlusterFS
bipin kunal
 
PPTX
New Ceph capabilities and Reference Architectures
Kamesh Pemmaraju
 
PPTX
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red_Hat_Storage
 
PDF
2021.02 new in Ceph Pacific Dashboard
Ceph Community
 
The Future of GlusterFS and Gluster.org
John Mark Walker
 
How to Survive an OpenStack Cloud Meltdown with Ceph
Sean Cohen
 
2015 open storage workshop ceph software defined storage
Andrew Underwood
 
Designing for High Performance Ceph at Scale
James Saint-Rossy
 
Red Hat Ceph Storage Roadmap: January 2016
Red_Hat_Storage
 
Ceph and Mirantis OpenStack
Mirantis
 
Ceph - A distributed storage system
Italo Santos
 
Red Hat Storage Server For AWS
Red_Hat_Storage
 
Storage tiering and erasure coding in Ceph (SCaLE13x)
Sage Weil
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Odinot Stanislas
 
Red Hat Storage - Introduction to GlusterFS
GlusterFS
 
Tutorial ceph-2
Tommy Lee
 
MySQL on Ceph
Kyle Bader
 
Block Storage For VMs With Ceph
The Linux Foundation
 
Quick-and-Easy Deployment of a Ceph Storage Cluster
Patrick Quairoli
 
Storage in kubernetes
Peeyush Gupta
 
Red Hat Gluster Storage : GlusterFS
bipin kunal
 
New Ceph capabilities and Reference Architectures
Kamesh Pemmaraju
 
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red_Hat_Storage
 
2021.02 new in Ceph Pacific Dashboard
Ceph Community
 
Ad

Similar to Jaspreet webinar-cns (20)

PDF
Red hat storage objects, containers and Beyond!
andreas kuncoro
 
PDF
Red Hat Storage Day New York - Persistent Storage for Containers
Red_Hat_Storage
 
PDF
Selecting the right persistent storage options for apps in containers Open So...
bipin kunal
 
PDF
Choose the Right Container Storage for Kubernetes
Yusuf Hadiwinata Sutandar
 
PDF
OSDC 2015: John Spray | The Ceph Storage System
NETWAYS
 
PDF
Containarized Gluster Storage in Kubernetes
Neependra Khare
 
PDF
Red Hat Storage Day Dallas - Storage for OpenShift Containers
Red_Hat_Storage
 
PDF
DCEU 18: Provisioning and Managing Storage for Docker Containers
Docker, Inc.
 
PDF
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Sean Cohen
 
PDF
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Cloud Native Day Tel Aviv
 
PDF
Red Hat Storage Day LA - Persistent Storage for Linux Containers
Red_Hat_Storage
 
PDF
Redis Conf 2019--Container Attached Storage for Redis
OpenEBS
 
PDF
Containerized Storage for Containers: Why, What and How OpenEBS Works
Matt Baldwin
 
PDF
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Inc
 
PPTX
Introduction to rook
Rohan Gupta
 
PPT
Open vStorage Road show 2015 Q1
wim_provoost
 
PDF
Red Hat Storage 2014 - Product(s) Overview
Marcel Hergaarden
 
PPTX
Kubernetes Stateful Workloads on Legacy Storage
Akhil Mohan
 
PDF
Red Hat Storage Server Roadmap & Integration With Open Stack
Red_Hat_Storage
 
PPTX
Save 60% of Kubernetes storage costs on AWS & others with OpenEBS
MayaData Inc
 
Red hat storage objects, containers and Beyond!
andreas kuncoro
 
Red Hat Storage Day New York - Persistent Storage for Containers
Red_Hat_Storage
 
Selecting the right persistent storage options for apps in containers Open So...
bipin kunal
 
Choose the Right Container Storage for Kubernetes
Yusuf Hadiwinata Sutandar
 
OSDC 2015: John Spray | The Ceph Storage System
NETWAYS
 
Containarized Gluster Storage in Kubernetes
Neependra Khare
 
Red Hat Storage Day Dallas - Storage for OpenShift Containers
Red_Hat_Storage
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
Docker, Inc.
 
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Sean Cohen
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Cloud Native Day Tel Aviv
 
Red Hat Storage Day LA - Persistent Storage for Linux Containers
Red_Hat_Storage
 
Redis Conf 2019--Container Attached Storage for Redis
OpenEBS
 
Containerized Storage for Containers: Why, What and How OpenEBS Works
Matt Baldwin
 
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Inc
 
Introduction to rook
Rohan Gupta
 
Open vStorage Road show 2015 Q1
wim_provoost
 
Red Hat Storage 2014 - Product(s) Overview
Marcel Hergaarden
 
Kubernetes Stateful Workloads on Legacy Storage
Akhil Mohan
 
Red Hat Storage Server Roadmap & Integration With Open Stack
Red_Hat_Storage
 
Save 60% of Kubernetes storage costs on AWS & others with OpenEBS
MayaData Inc
 
Ad

Recently uploaded (20)

PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPT
Coupa-Kickoff-Meeting-Template presentai
annapureddyn
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Doc9.....................................
SofiaCollazos
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Coupa-Kickoff-Meeting-Template presentai
annapureddyn
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 

Jaspreet webinar-cns

  • 1. Container Native Storage on Openshift Container Platform Jaspreet Kaur Senior TSE(Openshift Support)
  • 2. AGENDA ● Introduction ● The Journey So Far for OpenShift Storage ● Why CNS? ● What’s shipping today ● New features in CNS 3.6 ● Ref Architectures ● Q/A
  • 3. - Break the assumption that “Containers are for stateless workloads only“. Containers are not persistent by default. App data is lost when containers die. - Why is container storage a pain point? Complex. Even more complicated when container orchestration is involved and applications need to be scaled out.Provide a solution that will run GlusterFs as containers in Openshift pods - Why Red Hat Container-Native Storage (CNS)? Advanced storage capabilities, deeper integration with OpenShift, better price/performance than traditional storage CNS is open, scalable and has consistent user experience across the hybrid cloud (compliments the OpenShift value proposition). Introduction
  • 5. Storage Options for OpenShift: Cloud Provider Storage AUTOMATED CONFIGURATIONNFS Amazon EBS Azure Disk GCE Disk iSCSI Ceph RBD SINGLE CONTROL PANEL GlusterFS * very new, handle with care CHOICE FOR PERSISTENT STORAGE ISCSI Amazon EBS Azure Disk GCE Disk
  • 6. Storage Options for OpenShift: NFS WELL UNDERSTOOD, EASY TO DEMO PROVIDES RWX STORAGE NO HA, NOT AVAILABLE IN THE CLOUD NFS REQUIRES PRE-PROVISIONING
  • 7. Storage Options for OpenShift: iSCSI WELL UNDERSTOOD IN THE DC BLOCK STORAGE, NO RWX SUPPORT NOT AVAILABLE IN THE CLOUD NFS REQUIRES PRE-PROVISIONING iSCSI
  • 8. Storage Options for OpenShift: Cloud Provider Storage AVAILABLE IN THE CLOUD NOT AVAILABLE ACROSS AZs PERFORMANCE DEPENDS ON SIZE NFS Azure Disk GCE Disk BLOCK STORAGE, NO RWX SUPPORT iSCSI Amazon EBS
  • 9. Storage Options for OpenShift: Cloud Provider Storage SCALABLE, HA CINDER PREFERRED FOR OCP on OSP NFS Amazon EBS Azure Disk GCE Disk iSCSI Ceph RBD BLOCK STORAGE, NO RWX SUPPORT
  • 10. Storage Options for OpenShift: Cloud Provider Storage RUNS ON TOP OF OPENSHIFT GEO-REPLICATION, SNAPSHOTS* NFS Amazon EBS Azure Disk GCE Disk iSCSI Ceph RBD SCALABLE FILE STORAGE, RWX, RWO* SUPPORT GlusterFS * very new, handle with care AVAILABLE EVERYWHERE S3 OBJECT STORAGE FOR APPS ISCSI Amazon EBS Azure Disk GCE Disk
  • 11. ● Storage provided by a dedicated Red Hat Gluster Storage Cluster over the network outside OpenShift ● Red Hat Gluster Storage can run bare metal or VMs ● Storage and compute can scale independently Deployment Option-1: Container Ready Storage (CRS)
  • 12. Paradigm Shift Traditional Storage Management Converged Storage Management
  • 13. ● Fully featured scale-out storage platform (RHGS) runs inside OpenShift in containers (kubernetes pods) ● Application and storage containers can be co-located ● Storage services are managed, scaled and upgraded like app containers Deployment Option-2: Container-Native Storage (CNS)
  • 14. Why should you care ?
  • 17. Simplify Container Availability AVAILABILITY ZONE A AVAILABILITY ZONE B AVAILABILITY ZONE C Node Node Node Node Node Node GLOBAL STORAGE NAMESPACE
  • 18. ● Storage can run as a set of micro-services inside OpenShift - no external appliance needed ● Consistent storage experience across the hybrid cloud ● Storage Consolidation ● Multi purpose (RWO, RWX, object), flexible & versatile Container Native Storage - Our Advantage
  • 19. ● CNS: providing dynamic persistent storage for openshift with GlusterFS in a hyper-converged fashion ● Heketi: the high-level service interface to manage the lifecycle of volumes in multiple Gluster clusters. Openshift ⇐⇒ Heketi ⇐⇒ Gluster What is CNS … and what is Heketi?
  • 20. ● openshift/kubernetes ○ dynamic glusterfs provisioner ○ glusterfs plugin ● Heketi ○ high-level service interface for gluster volume lifecycle management ● glusterfs: ○ one or more glusterfs clusters ○ running hyper-converged in openshift ● cns-deploy: ○ tool to deploy gluster and heketi into an existing openshift cluster Components of CNS
  • 21. PVC(created by user) references the glusterfs provisioner. ● glusterfs provisioner extracts details from PVC ● provisioner tells heketi to create a volume if given size and type. > heketi looks for a gluster cluster that can satisfy this request > if found, heketi tells the gluster instance to create the volume. > gluster creates a volume > Heketi hands volume back to provisioner ● provisioner creates PV and puts the gluster volume details into it. ● provisioner puts glusterfs as the mount plugin into the pv ● provisioner returns PV to the caller PVC is bound to the PV and can later be in a pod by the user PV creation: glusterfs dynamic provisioner
  • 22. Workflow with Dynamic Provisioning Persistent Volume Claim is submitted
  • 23. Workflow with Dynamic Provisioning Openshift request volume to be created
  • 24. Workflow with Dynamic Provisioning Persistent volume is created by storage system and registered with Openshift
  • 25. Workflow with Dynamic Provisioning Volume can now be used by Pod to provide persistent storage
  • 27. CONTAINER-NATIVE STORAGE ON OPENSHIFT INFRA
  • 28. CONTAINER-NATIVE STORAGE ON OPENSHIFT POD CONTAINERIZED RED HAT GLUSTER STORAGE RHEL HOST OS RED HAT GLUSTER POD GLUSTER VOLUMES PHYSICAL DISKHOST NETWORK
  • 29. CONTAINER-NATIVE STORAGE ON OPENSHIFT POD RHGS POD RHGS POD RHGS POD RHGS POD INFRA POD INFRA HEKETI RESTFUL GLUSTERFS MANAGEMENT RED HAT HEKETI POD REST API GLUSTERFS PODS
  • 30. ● Container Ready Storage serving out storage to OpenShift with: ○ RHGS in stand-alone bare-metal storage clusters ○ RHGS inside VMs (VMware most popular) on bare-metal hosts ○ RHGS inside VMs fronting Enterprise Storage Arrays ■ RHGS sits between OpenShift and Storage Arrays ■ LUNs are served out as RHGS bricks ○ RHGS in AWS, Azure, Google Cloud ● Container-Native Storage ○ RHGS runs containerized inside OpenShift Container Platform (always with Heketi) ○ CNS runs anywhere OCP runs! Container Storage Deployments
  • 31. Container Storage Use Cases ● Local Storage for Container Images ● OpenShift Infra (registry,logging & metrics) ● Persistent Storage for Applications
  • 32. OpenShift Registry on CNS OPENSHIFT INTERNAL REGISTRY POD OPENSHIFT REGISTRY OPENSHIFT INTERNAL REGISTRY POD OPENSHIFT REGISTRY OPENSHIFT INTERNAL REGISTRY POD OPENSHIFT REGISTRY RED HAT GLUSTER CONTAINER-NATIVE STORAGE Scalable Highly-Available Automated Integrated PERSISTENT VOLUME
  • 33. ● Brick multiplexing introduced in CNS 3.6 ● Optimized storage for logging and metrics. ● Support a scaleout registry. ● S3 object storage for applications. New features of CNS 3.6
  • 34. Brick multiplexing in CNS 3.6 ● With brick-multiplexing, only one glusterfsd process is governing the bricks such that the amount of memory consumption of GlusterFS pods is drastically reduced and the scalability is significantly improved. ● In 3.6, we are able to support over 1,000 PersistentVolumes in a single container- native storage cluster. The amount of memory consumed increases linearly, so that 32GB of RAM are only needed at the high end of that. The rule of thumb is roughly 30-35 MB RAM per volume on each of the participating GlusterFS pods.
  • 35. Optimized storage for Logging and Metrics ● Container-Native Storage version 3.6 now provides backend storage for OpenShift Logging and OpenShift Metrics with gluster- block. For the moment, the use of gluster-block in production is only supported for OpenShift Logging and Metrics services, but use of gluster- block beyond that is under qualification, and support is expected to be extended soon.
  • 36. ● The OpenShift Advanced Installer now supports deploying container-native storage and the registry on container-native storage out of the box. ● All you have to do since OpenShift Container Platform 3.6 is add a few lines to your Ansible inventory file.To deploy an OpenShift registry backed by container-native storage, first add the following variable definition in the [OSEv3:vars] section: openshift_hosted_registry_storage_kind=glusterfs ● And then add a new host group defining the container-native storage nodes to the inventory, for example: [glusterfs_registry] infra-1.lab glusterfs_devices='[ "/dev/sdd" ]' infra-2.lab glusterfs_devices='[ "/dev/sdd" ]' infra-3.lab glusterfs_devices='[ "/dev/sdd" ]' Support a scaleout registry
  • 37. S3 object storage for applications ● Container-Native Storage 3.6 now provides an S3 object storage interface as a TechPreview. Application developers have a ready-to-use REST API at hand to provide object storage to workloads on OpenShift, just a HTTP PUT or GET request away. ● Object storage in CNS 3.6 provides a simple yet scalable storage layer for distributed applications that were previously tied to specific cloud provider S3 object storage. These application now run with little or no modification on OpenShift.
  • 38. AWS Reference Architecture Description OpenShift 3.5 with Container Native Storage on Amazon Web Services Reference Architecture: https://access.redhat.com/articles/3018151. Ansible playbooks and deplyment scripts found here: https://github.com/openshift/openshift-ansible-contrib/tree/master/reference-architecture.
  • 39. VMware Reference Architecture Description OpenShift 3.6 with Container Native Storage on VMware Reference Architecture: New RA Available July 2017. Ansible playbooks and deplyment scripts found here: https://github.com/openshift/openshift-ansible-contrib/tree/master/reference-architecture.
  • 40. ● https://github.com/gluster/gluster-kubernetes ● https://github.com/heketi/heketi ● https://github.com/kubernetes/kubernetes : pkg/volume/glusterfs/ ● https://github.com/gluster/glusterfs Open Source! ⇒ Upstream Bits
  • 41. ● pod: group of one or more containers that form an entity ● persistent volume (PV): to be mounted by application pod ● provisioner: to provide PVs upon request ● plugin: mechanism to mount the PV, referenced in PV ● persistent volume claim (PVC): mechanism for a user to request a PV ● Access types for volumes: ○ RWO - read write once (single node) ○ RWX - read write many (multiple nodes) ○ ROX - read only many (multiple nodes) ● flavors of provisioning: dynamic and static Glossary: OpenShift/Kube Storage