SlideShare a Scribd company logo
Storage 101
Rook and Ceph
Sébastien Han, Sean Cohen, Federico Lucifredi
WHAT IS THIS TALK ABOUT?
STORAGE CONTAINER ORCHESTRATION WITH KUBERNETES
Kubernetes (K8s) is an open-source system for
automating deployment, scaling, and management of
containerized applications.
Ceph is an open source distributed storage
software-defined solution that allows you to consume
your data through several interfaces such as object,
block and file.
Ceph Architecture
RGW
A web services
gateway for object
storage, compatible
with S3 and Swift
LIBRADOS
A library allowing apps to directly access RADOS (C, C++, Java, Python, Ruby, PHP)
RADOS
A software-based, reliable, autonomous, distributed object store comprised of
self-healing, self-managing, intelligent storage nodes and lightweight monitors
RBD
A reliable,
fully-distributed block
device with cloud
platform integration
CEPHFS
A distributed file
system with POSIX
semantics and
scale-out metadata
management
APP HOST/VM CLIENT
WHY IS STORAGE HARD?
STORAGE IN KUBERNETES CONTAINER ORCHESTRATION
STORAGE IN KUBERNETES
• K8s abstracts away the infrastructure it manages
• Dynamic environment
– Balancing load
– Rebuilding pods (healing)
• Ephemeral storage design
Terminology
• CRD: Custom Resource Definition; Schema Extension to Kubernetes API
• CR: Custom Resource; One record/instance/object, conforming to a CRD
• OPERATOR: Daemon that watches for changes to resources
• STORAGE CLASS: “class” of storage service
• PVC: Persistent Volume Claim, attach persistent storage to a pod
• POD: a group of one or more containers managed by Kubernetes
Cloud-native storage landscape
https://landscape.cncf.io/
Storage for Kubernetes
Volume plugins allow external storage solutions to provide storage to your apps
• Not portable: requires these services to be
accessible
• Deployment burden of external solutions
• Vendor lock-in due to using provider managed
services
Limitations
Kubernetes can manage our
storage solution
• Highly portable applications
(including storage
dependencies)
• Dedicated K8s storage cluster
also possible
Storage ON Kubernetes
Concept that describes the general data need of your application
• Database, message queue, cache, object store, etc.
• Works across environments and providers
– RDS in Amazon
– Cloud SQL in Google
• Choose the best environment for your code
– cost, features, resiliency, compliance
• Goal: Hybrid and Multi Cloud Storage abstraction
Portable Abstractions
The Container Storage Interface
(CSI)
Container Storage Interface
– Prior to CSI, it was challenging to add support for new volume
plugins to Kubernetes.
– Volume plugins were “in-tree”, third-party storage code caused
reliability and security issues in core Kubernetes binaries
– With the introduction of CSI, storage can now be treated as another
workload to be containerized and deployed on a Kubernetes cluster.
– Using CSI, third-party storage providers can write and deploy plugins
exposing new storage systems in Kubernetes without touching the
core Kubernetes code.
CSI
CSI
CSI
CSI
Ceph-CSI
• Ceph CSI plugin allows dynamically provisioning Ceph volumes and
attaching them to workloads.
• Relies on Kubernetes CSI spec (v3.0 and v1.0)
• Integrated in Rook 1.0
– https://github.com/ceph/ceph-csi/
Storage access modes:
• RWO - ReadWriteOnce: the volume can be mounted as read-write by a single node
• ROX - ReadOnlyMany: the volume can be mounted read-only by many nodes
• RWX - ReadWriteMany: the volume can be mounted as read-write by many nodes
Support Matrix
VOLUME TYPE FEATURES CSI DRIVER VERSION
File mode, sharable or RWX Volume(CephFS) Dynamically provision, de-provision volume v0.3.0
Creating and deleting snapshot -
Provision volumes from snapshot -
Provision volumes from another Volume -
Resize volumes -
Block mode, sharable or RWX volumes(RBD)
File/Block mode single-consumer or RWO
volumes(RBD)
Dynamically provision, de-provision volume v0.3.0,v1.0.0
Creating and deleting snapshot v0.3.0,v1.0.0
Provision volumes from snapshot v1.0.0
Provision volumes from another Volume -
Resize volumes -
ROOK
PROVIDE BEST CEPH STORAGE EXPERIENCE IN KUBERNETES
– Rook is bringing Ceph and Kubernetes together
– It is one of the most popular cloud-native storage solutions
– With more than 5000 Github stars, 21M docker pools and 140+
contributors.
– Accepted as the CNCF’s first storage project
– Rook has recently reached incubation stage
ROOK + CEPH
Cloud-Native Storage Orchestrator
• Extends Kubernetes with custom types and controllers
• Automate deployment, bootstrapping, configuration,
provisioning, scaling, upgrading, migration, disaster recovery,
monitoring, and resource management
• Framework for many storage providers and solutions
• Open Source (Apache 2.0)
• Hosted by the Cloud-Native Computing Foundation
Storage Framework
Storage Framework
● Orchestration
− Automated deployment, bootstrapping, configuration,
provisioning, scaling, upgrading, migration, disaster recovery,
monitoring, and resource management
● Kubernetes Volume Plugins: Attaching and mounting RBD/CephFS
− In-tree drivers (legacy)
− Flex Volume Driver (soon to be deprecated)
− Ceph-CSI (Container Storage Interface)
Advantages
THE BENEFIT OF CEPH+ROOK
• Ceph automates the internal storage management
• Rook automates the user-facing operations
• Rook makes storage consumption from Kubernetes transparent
SCALE
- Horizontally (nodes) and vertically (user volumes), storage scale (Ceph)
- Fast, automatic provisioning
- Hides ceph.conf settings from end user (could be any storage source)
Kubernetes Storage Challenges
• Reliance on external storage
– Requires these services to be accessible
– Deployment burden
• Reliance on cloud provider managed services
– Vendor lock-in
• Day 2 operations - who is managing the storage?
Why Rook?
ARCHITECTURE
High-level Architecture
● Implements the Operator Pattern for Ceph
○ Existed before the operator-sdk or kubebuilder
● User defines desired state for the storage cluster
● Operator:
○ Observes - Watch for changes in state and health
○ Analyzes - Determine differences to apply
○ Acts - Apply changes to the cluster
Rook Operator
Cluster CR
apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
name: rook-ceph
namespace: rook-ceph
spec:
cephVersion :
image: ceph/ceph:v14.2
mon:
count: 3
dashboard:
enabled: true
storage:
useAllNodes : true
useAllDevices : true
● Automates configuration of the following Ceph daemons:
− MON: Create mons and ensure they are in quorum
− MGR: Start the daemons
− OSD: Provision devices with ceph-volume and start daemons
− RGW: Create the object store and start the RGW daemons
− MDS: Create the CephFS and start the MDS daemon
− NFS: Start the NFS Ganesha daemons
− RBD Mirroring: Start the daemons
No iscsi-gw yet.
Rook-Ceph Operator
Rook’s Custom Resource Definitions (CRDs):
● CephCluster: represents a Ceph Cluster
● CephBlockPool: represents a Ceph Block Pool
● CephFilesystem: represents a Ceph Filesystem interface
● CephNFS: represents a Ceph NFS interface.
● CephObjectStore: represents a Ceph Object Store.
● CephObjectStoreUser: represents a Ceph Object Store User.
Available CRDs
FUTURE OF ROOK
• Ability to consume existing Ceph storage cluster that were not
deployed with Rook
• Rook does not manage the cluster
• Bootstrap stateless daemons in Kubernetes but leave the rest in
place on the existing cluster
• Different Storage Classes for certain clusters
External Cluster
External Cluster
Incoming changes
• Auto-scale when plugging a new disk
• Watch for new storage node and increase capacity
automatically
• Upgrade mechanism enhancement
• Expose more CR’s details (Ceph health)
• More control over logging (enable/disable on the fly)
• Better maintenance mode
• Better resources control (requests and limits)
• Integration with Multus
– Attach multiple physical interfaces to a pod
– Removes the need of host Networking
– More secure, more control
• Cloud block provisioner
– Relies on Kubernetes block PVC
– Allows smoother run Cloud platforms like AWS/GKE/AKS
• Bucket Storage Class for object storage
– ObjectBucketClaim / ObjectBucket
Future Work
Give it a try!
• Download minikube
minikube start
git clone https://github.com/rook/rook
cd cluster/examples/kubernetes/ceph
kubectl create -f common.yaml operator.yaml
kubectl create -f cluster.yaml
Getting Started with Rook
• https://rook.io
– Read the docs… seriously
– Github repo: https://github.com/rook/rook
– Design docs:
https://github.com/rook/rook/tree/master/design
• Slack
https://rook-io.slack.com/
THANK YOU
@0xF2
@leseb_
@SeanCohen_RH

More Related Content

What's hot

Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing Guide
Jose De La Rosa
 
Ceph as software define storage
Ceph as software define storageCeph as software define storage
Ceph as software define storage
Mahmoud Shiri Varamini
 
High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
ScyllaDB
 
2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard
Ceph Community
 
Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive

Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive


Cloudera, Inc.
 
Getting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDsGetting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDs
Aerospike, Inc.
 
Overview of kubernetes network functions
Overview of kubernetes network functionsOverview of kubernetes network functions
Overview of kubernetes network functions
HungWei Chiu
 
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudAmazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Noritaka Sekiyama
 
AF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on FlashAF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on Flash
Ceph Community
 
Ceph Month 2021: RADOS Update
Ceph Month 2021: RADOS UpdateCeph Month 2021: RADOS Update
Ceph Month 2021: RADOS Update
Ceph Community
 
Ceph Introduction 2017
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017
Karan Singh
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Karan Singh
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
Sage Weil
 
Redis cluster
Redis clusterRedis cluster
Redis cluster
iammutex
 
Ceph c01
Ceph c01Ceph c01
Ceph c01
Lâm Đào
 
Introduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStackIntroduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStack
OpenStack_Online
 
Build a High Available NFS Cluster Based on CephFS - Shangzhong Zhu
Build a High Available NFS Cluster Based on CephFS - Shangzhong ZhuBuild a High Available NFS Cluster Based on CephFS - Shangzhong Zhu
Build a High Available NFS Cluster Based on CephFS - Shangzhong Zhu
Ceph Community
 
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
OpenStack Korea Community
 
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
GetInData
 
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
NAVER D2
 

What's hot (20)

Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing Guide
 
Ceph as software define storage
Ceph as software define storageCeph as software define storage
Ceph as software define storage
 
High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
 
2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard
 
Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive

Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive


 
Getting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDsGetting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDs
 
Overview of kubernetes network functions
Overview of kubernetes network functionsOverview of kubernetes network functions
Overview of kubernetes network functions
 
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudAmazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
 
AF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on FlashAF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on Flash
 
Ceph Month 2021: RADOS Update
Ceph Month 2021: RADOS UpdateCeph Month 2021: RADOS Update
Ceph Month 2021: RADOS Update
 
Ceph Introduction 2017
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
 
Redis cluster
Redis clusterRedis cluster
Redis cluster
 
Ceph c01
Ceph c01Ceph c01
Ceph c01
 
Introduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStackIntroduction into Ceph storage for OpenStack
Introduction into Ceph storage for OpenStack
 
Build a High Available NFS Cluster Based on CephFS - Shangzhong Zhu
Build a High Available NFS Cluster Based on CephFS - Shangzhong ZhuBuild a High Available NFS Cluster Based on CephFS - Shangzhong Zhu
Build a High Available NFS Cluster Based on CephFS - Shangzhong Zhu
 
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
 
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
 
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
 

Similar to Storage 101: Rook and Ceph - Open Infrastructure Denver 2019

Webinar - Introduction to Ceph and OpenStack
Webinar - Introduction to Ceph and OpenStackWebinar - Introduction to Ceph and OpenStack
Webinar - Introduction to Ceph and OpenStack
Ceph Community
 
Inktank:ceph overview
Inktank:ceph overviewInktank:ceph overview
Inktank:ceph overview
Ceph Community
 
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
Roberto Hashioka
 
New use cases for Ceph, beyond OpenStack, Luis Rico
New use cases for Ceph, beyond OpenStack, Luis RicoNew use cases for Ceph, beyond OpenStack, Luis Rico
New use cases for Ceph, beyond OpenStack, Luis Rico
Ceph Community
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatThe Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
OpenStack
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
Fabio Fumarola
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
Hank Preston
 
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with CrowbarWicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Kamesh Pemmaraju
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
Fabio Fumarola
 
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
CloudOps2005
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
Mesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overviewMesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overview
Krishna-Kumar
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
Jason Hu
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Vishal Biyani
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
Steve Wong
 
Red Hat Storage Day Boston - OpenStack + Ceph Storage
Red Hat Storage Day Boston - OpenStack + Ceph StorageRed Hat Storage Day Boston - OpenStack + Ceph Storage
Red Hat Storage Day Boston - OpenStack + Ceph Storage
Red_Hat_Storage
 
Cluster Management _ kubernetes MADIHA HARIFI
Cluster Management _ kubernetes MADIHA HARIFICluster Management _ kubernetes MADIHA HARIFI
Cluster Management _ kubernetes MADIHA HARIFI
Harifi Madiha
 
Highly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - RedisHighly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - Redis
Krishna-Kumar
 
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Deepak Shetty
 

Similar to Storage 101: Rook and Ceph - Open Infrastructure Denver 2019 (20)

Webinar - Introduction to Ceph and OpenStack
Webinar - Introduction to Ceph and OpenStackWebinar - Introduction to Ceph and OpenStack
Webinar - Introduction to Ceph and OpenStack
 
Inktank:ceph overview
Inktank:ceph overviewInktank:ceph overview
Inktank:ceph overview
 
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
 
New use cases for Ceph, beyond OpenStack, Luis Rico
New use cases for Ceph, beyond OpenStack, Luis RicoNew use cases for Ceph, beyond OpenStack, Luis Rico
New use cases for Ceph, beyond OpenStack, Luis Rico
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatThe Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
 
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with CrowbarWicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
 
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
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Mesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overviewMesos and Kubernetes ecosystem overview
Mesos and Kubernetes ecosystem overview
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Red Hat Storage Day Boston - OpenStack + Ceph Storage
Red Hat Storage Day Boston - OpenStack + Ceph StorageRed Hat Storage Day Boston - OpenStack + Ceph Storage
Red Hat Storage Day Boston - OpenStack + Ceph Storage
 
Cluster Management _ kubernetes MADIHA HARIFI
Cluster Management _ kubernetes MADIHA HARIFICluster Management _ kubernetes MADIHA HARIFI
Cluster Management _ kubernetes MADIHA HARIFI
 
Highly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - RedisHighly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - Redis
 
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
 

More from Sean Cohen

How to Survive an OpenStack Cloud Meltdown with Ceph
How to Survive an OpenStack Cloud Meltdown with CephHow to Survive an OpenStack Cloud Meltdown with Ceph
How to Survive an OpenStack Cloud Meltdown with Ceph
Sean Cohen
 
3-2-1 Action! Running OpenStack Shared File System Service in Production
3-2-1 Action! Running OpenStack Shared File System Service in Production3-2-1 Action! Running OpenStack Shared File System Service in Production
3-2-1 Action! Running OpenStack Shared File System Service in Production
Sean Cohen
 
Peanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStack
Peanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStackPeanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStack
Peanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStack
Sean Cohen
 
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and CephProtecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Sean Cohen
 
Manila, an update from Liberty, OpenStack Summit - Tokyo
Manila, an update from Liberty, OpenStack Summit - TokyoManila, an update from Liberty, OpenStack Summit - Tokyo
Manila, an update from Liberty, OpenStack Summit - Tokyo
Sean Cohen
 
The road to enterprise ready open stack storage as service
The road to enterprise ready open stack storage as serviceThe road to enterprise ready open stack storage as service
The road to enterprise ready open stack storage as service
Sean Cohen
 
Dude where's my volume, open stack summit vancouver 2015
Dude where's my volume, open stack summit vancouver 2015Dude where's my volume, open stack summit vancouver 2015
Dude where's my volume, open stack summit vancouver 2015
Sean Cohen
 
When disaster strikes the cloud: Who, what, when, where and how to recover
When disaster strikes the cloud:  Who, what, when, where and how to recoverWhen disaster strikes the cloud:  Who, what, when, where and how to recover
When disaster strikes the cloud: Who, what, when, where and how to recover
Sean Cohen
 
Deterministic capacity planning for OpenStack as elastic cloud infrastructure
Deterministic capacity planning for OpenStack as elastic cloud infrastructureDeterministic capacity planning for OpenStack as elastic cloud infrastructure
Deterministic capacity planning for OpenStack as elastic cloud infrastructure
Sean Cohen
 
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatDeep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatSean Cohen
 
Kvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storageKvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storage
Sean Cohen
 
Integration of Storage, OpenStack & Virtualization
 Integration of Storage, OpenStack & Virtualization Integration of Storage, OpenStack & Virtualization
Integration of Storage, OpenStack & Virtualization
Sean Cohen
 

More from Sean Cohen (12)

How to Survive an OpenStack Cloud Meltdown with Ceph
How to Survive an OpenStack Cloud Meltdown with CephHow to Survive an OpenStack Cloud Meltdown with Ceph
How to Survive an OpenStack Cloud Meltdown with Ceph
 
3-2-1 Action! Running OpenStack Shared File System Service in Production
3-2-1 Action! Running OpenStack Shared File System Service in Production3-2-1 Action! Running OpenStack Shared File System Service in Production
3-2-1 Action! Running OpenStack Shared File System Service in Production
 
Peanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStack
Peanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStackPeanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStack
Peanut Butter and jelly: Mapping the deep Integration between Ceph and OpenStack
 
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and CephProtecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
 
Manila, an update from Liberty, OpenStack Summit - Tokyo
Manila, an update from Liberty, OpenStack Summit - TokyoManila, an update from Liberty, OpenStack Summit - Tokyo
Manila, an update from Liberty, OpenStack Summit - Tokyo
 
The road to enterprise ready open stack storage as service
The road to enterprise ready open stack storage as serviceThe road to enterprise ready open stack storage as service
The road to enterprise ready open stack storage as service
 
Dude where's my volume, open stack summit vancouver 2015
Dude where's my volume, open stack summit vancouver 2015Dude where's my volume, open stack summit vancouver 2015
Dude where's my volume, open stack summit vancouver 2015
 
When disaster strikes the cloud: Who, what, when, where and how to recover
When disaster strikes the cloud:  Who, what, when, where and how to recoverWhen disaster strikes the cloud:  Who, what, when, where and how to recover
When disaster strikes the cloud: Who, what, when, where and how to recover
 
Deterministic capacity planning for OpenStack as elastic cloud infrastructure
Deterministic capacity planning for OpenStack as elastic cloud infrastructureDeterministic capacity planning for OpenStack as elastic cloud infrastructure
Deterministic capacity planning for OpenStack as elastic cloud infrastructure
 
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatDeep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red Hat
 
Kvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storageKvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storage
 
Integration of Storage, OpenStack & Virtualization
 Integration of Storage, OpenStack & Virtualization Integration of Storage, OpenStack & Virtualization
Integration of Storage, OpenStack & Virtualization
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 

Storage 101: Rook and Ceph - Open Infrastructure Denver 2019

  • 1. Storage 101 Rook and Ceph Sébastien Han, Sean Cohen, Federico Lucifredi
  • 2. WHAT IS THIS TALK ABOUT? STORAGE CONTAINER ORCHESTRATION WITH KUBERNETES
  • 3. Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
  • 4. Ceph is an open source distributed storage software-defined solution that allows you to consume your data through several interfaces such as object, block and file.
  • 5. Ceph Architecture RGW A web services gateway for object storage, compatible with S3 and Swift LIBRADOS A library allowing apps to directly access RADOS (C, C++, Java, Python, Ruby, PHP) RADOS A software-based, reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent storage nodes and lightweight monitors RBD A reliable, fully-distributed block device with cloud platform integration CEPHFS A distributed file system with POSIX semantics and scale-out metadata management APP HOST/VM CLIENT
  • 6. WHY IS STORAGE HARD? STORAGE IN KUBERNETES CONTAINER ORCHESTRATION
  • 7. STORAGE IN KUBERNETES • K8s abstracts away the infrastructure it manages • Dynamic environment – Balancing load – Rebuilding pods (healing) • Ephemeral storage design
  • 8. Terminology • CRD: Custom Resource Definition; Schema Extension to Kubernetes API • CR: Custom Resource; One record/instance/object, conforming to a CRD • OPERATOR: Daemon that watches for changes to resources • STORAGE CLASS: “class” of storage service • PVC: Persistent Volume Claim, attach persistent storage to a pod • POD: a group of one or more containers managed by Kubernetes
  • 10. Storage for Kubernetes Volume plugins allow external storage solutions to provide storage to your apps
  • 11. • Not portable: requires these services to be accessible • Deployment burden of external solutions • Vendor lock-in due to using provider managed services Limitations
  • 12. Kubernetes can manage our storage solution • Highly portable applications (including storage dependencies) • Dedicated K8s storage cluster also possible Storage ON Kubernetes
  • 13. Concept that describes the general data need of your application • Database, message queue, cache, object store, etc. • Works across environments and providers – RDS in Amazon – Cloud SQL in Google • Choose the best environment for your code – cost, features, resiliency, compliance • Goal: Hybrid and Multi Cloud Storage abstraction Portable Abstractions
  • 14. The Container Storage Interface (CSI)
  • 15. Container Storage Interface – Prior to CSI, it was challenging to add support for new volume plugins to Kubernetes. – Volume plugins were “in-tree”, third-party storage code caused reliability and security issues in core Kubernetes binaries – With the introduction of CSI, storage can now be treated as another workload to be containerized and deployed on a Kubernetes cluster. – Using CSI, third-party storage providers can write and deploy plugins exposing new storage systems in Kubernetes without touching the core Kubernetes code. CSI
  • 16. CSI
  • 17. CSI
  • 18. CSI
  • 19. Ceph-CSI • Ceph CSI plugin allows dynamically provisioning Ceph volumes and attaching them to workloads. • Relies on Kubernetes CSI spec (v3.0 and v1.0) • Integrated in Rook 1.0 – https://github.com/ceph/ceph-csi/ Storage access modes: • RWO - ReadWriteOnce: the volume can be mounted as read-write by a single node • ROX - ReadOnlyMany: the volume can be mounted read-only by many nodes • RWX - ReadWriteMany: the volume can be mounted as read-write by many nodes
  • 20. Support Matrix VOLUME TYPE FEATURES CSI DRIVER VERSION File mode, sharable or RWX Volume(CephFS) Dynamically provision, de-provision volume v0.3.0 Creating and deleting snapshot - Provision volumes from snapshot - Provision volumes from another Volume - Resize volumes - Block mode, sharable or RWX volumes(RBD) File/Block mode single-consumer or RWO volumes(RBD) Dynamically provision, de-provision volume v0.3.0,v1.0.0 Creating and deleting snapshot v0.3.0,v1.0.0 Provision volumes from snapshot v1.0.0 Provision volumes from another Volume - Resize volumes -
  • 21. ROOK PROVIDE BEST CEPH STORAGE EXPERIENCE IN KUBERNETES
  • 22. – Rook is bringing Ceph and Kubernetes together – It is one of the most popular cloud-native storage solutions – With more than 5000 Github stars, 21M docker pools and 140+ contributors. – Accepted as the CNCF’s first storage project – Rook has recently reached incubation stage ROOK + CEPH
  • 23. Cloud-Native Storage Orchestrator • Extends Kubernetes with custom types and controllers • Automate deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management • Framework for many storage providers and solutions • Open Source (Apache 2.0) • Hosted by the Cloud-Native Computing Foundation Storage Framework
  • 24. Storage Framework ● Orchestration − Automated deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management ● Kubernetes Volume Plugins: Attaching and mounting RBD/CephFS − In-tree drivers (legacy) − Flex Volume Driver (soon to be deprecated) − Ceph-CSI (Container Storage Interface)
  • 25. Advantages THE BENEFIT OF CEPH+ROOK • Ceph automates the internal storage management • Rook automates the user-facing operations • Rook makes storage consumption from Kubernetes transparent SCALE - Horizontally (nodes) and vertically (user volumes), storage scale (Ceph) - Fast, automatic provisioning - Hides ceph.conf settings from end user (could be any storage source)
  • 26. Kubernetes Storage Challenges • Reliance on external storage – Requires these services to be accessible – Deployment burden • Reliance on cloud provider managed services – Vendor lock-in • Day 2 operations - who is managing the storage? Why Rook?
  • 29. ● Implements the Operator Pattern for Ceph ○ Existed before the operator-sdk or kubebuilder ● User defines desired state for the storage cluster ● Operator: ○ Observes - Watch for changes in state and health ○ Analyzes - Determine differences to apply ○ Acts - Apply changes to the cluster Rook Operator
  • 30. Cluster CR apiVersion: ceph.rook.io/v1 kind: CephCluster metadata: name: rook-ceph namespace: rook-ceph spec: cephVersion : image: ceph/ceph:v14.2 mon: count: 3 dashboard: enabled: true storage: useAllNodes : true useAllDevices : true
  • 31. ● Automates configuration of the following Ceph daemons: − MON: Create mons and ensure they are in quorum − MGR: Start the daemons − OSD: Provision devices with ceph-volume and start daemons − RGW: Create the object store and start the RGW daemons − MDS: Create the CephFS and start the MDS daemon − NFS: Start the NFS Ganesha daemons − RBD Mirroring: Start the daemons No iscsi-gw yet. Rook-Ceph Operator
  • 32. Rook’s Custom Resource Definitions (CRDs): ● CephCluster: represents a Ceph Cluster ● CephBlockPool: represents a Ceph Block Pool ● CephFilesystem: represents a Ceph Filesystem interface ● CephNFS: represents a Ceph NFS interface. ● CephObjectStore: represents a Ceph Object Store. ● CephObjectStoreUser: represents a Ceph Object Store User. Available CRDs
  • 34. • Ability to consume existing Ceph storage cluster that were not deployed with Rook • Rook does not manage the cluster • Bootstrap stateless daemons in Kubernetes but leave the rest in place on the existing cluster • Different Storage Classes for certain clusters External Cluster
  • 36. Incoming changes • Auto-scale when plugging a new disk • Watch for new storage node and increase capacity automatically • Upgrade mechanism enhancement • Expose more CR’s details (Ceph health) • More control over logging (enable/disable on the fly) • Better maintenance mode • Better resources control (requests and limits)
  • 37. • Integration with Multus – Attach multiple physical interfaces to a pod – Removes the need of host Networking – More secure, more control • Cloud block provisioner – Relies on Kubernetes block PVC – Allows smoother run Cloud platforms like AWS/GKE/AKS • Bucket Storage Class for object storage – ObjectBucketClaim / ObjectBucket Future Work
  • 38. Give it a try! • Download minikube minikube start git clone https://github.com/rook/rook cd cluster/examples/kubernetes/ceph kubectl create -f common.yaml operator.yaml kubectl create -f cluster.yaml
  • 39. Getting Started with Rook • https://rook.io – Read the docs… seriously – Github repo: https://github.com/rook/rook – Design docs: https://github.com/rook/rook/tree/master/design • Slack https://rook-io.slack.com/