MicroK8s 1.28 - MicroCeph on MicroK8s.pdf

Ceph storage on MicroK8s!
Angelos Kolaitis
Senior Engineer @MicroK8s
1.29 Release Lead Shadow
MicroK8s
Friday 1st of September, 1:30 pm GMT
https://meet.google.com/hjy-uogt-tax
Philip Williams
Product Manager
Ceph
&
Agenda
● What is MicroCeph?
● MicroCeph advantages
● Deployment of MicroCeph
● MicroCeph on MicroK8s
What is MicroCeph?
Consistent, Isolated and Upgrade Friendly
● Streamlined and effortless deployment
● Minimal setup and maintenance overheads
● MicroCeph is containerised snap with all of its
dependencies and runs fully isolated from the
underlying host
● Using channels for the distribution, going from
latest/stable to latest/edge is easy
MicroCeph advantages
Storage for non-experts
● Easiest way to deploy Ceph, just a few commands
● Designed for non-experts
● Highly scalable
○ dev workstation, to edge, to datacenter
● Reliable and resilient
● Open-source distributed storage system
● Flexibility for object, block, and file-level storage
● Supports encryption at rest too!
snap install microceph
microceph cluster bootstrap
microceph cluster add node[x]
microceph cluster join pasted-output-from-node1
microceph.ceph status
microceph disk add /dev/sd[x] --wipe
microceph.ceph status
microceph.ceph osd status
MicroCeph deployment
microceph.com
QR Code?
MicroCeph demo
MicroK8s 1.28 - MicroCeph on MicroK8s.pdf
Ceph Storage in MicroK8s
MicroK8s +
- Kubernetes solves container orchestration issues at scale
- I can run my massive distributed workloads at scale (machine learning, video
transcoding, my SaaS business)
- Where can I store the end results?
- We need persistent storage!
- CSI (Container Storage Interface)
- Kubernetes does not solve the problem of distributed storage, since
performance, stability requirements might differ
- Instead, it defines a standard interface to consume any storage
- Which CSI driver? Depends!
- On a public cloud? aws-ebs-csi-driver, azurefile-csi-driver, …
- On a private cloud? cinder-csi-driver, …
- On bare-metal? BYOS!
- Ceph
Distributed Storage In Kubernetes
- Ceph CSI!
- Supports CephRBD (ideal
for RWO volumes)
- Supports CephFS (supports
RWX volumes)
Ceph storage in Kubernetes
sudo microk8s enable rook-ceph
Deploy rook-operator on the
MicroK8s cluster
Rook can:
- deploy a Ceph cluster inside
the MicroK8s cluster, using
disks from the hosts
- integrate with external
Ceph clusters and manage
them as citizens in
Kubernetes
MicroK8s Rook Ceph addon (1/2)
sudo microk8s enable rook-ceph
Why Rook?
- Can detect the right CSI
version depending on running
K8s and Ceph
- (Optionally) Can be used to
manage Ceph from
Kubernetes
- (Optionally) Simplifies ceph
auth clients and keyrings
- (Optionally) Can deploy a
Ceph cluster on top of the
Kubernetes nodes
MicroK8s Rook Ceph addon (2/2)
Install MicroCeph
$ sudo snap install microceph --channel quincy/stable
$ sudo microceph cluster bootstrap
$ sudo microceph disk add $disks --wipe --encrypt
MicroK8s / MicroCeph (1/4)
Install MicroK8s
$ sudo snap install microk8s --classic --channel 1.28/stable
MicroK8s / MicroCeph (2/4)
Enable Ceph addon
$ sudo microk8s enable rook-ceph
MicroK8s / MicroCeph (3/4)
Consume MicroCeph
$ sudo microk8s connect-external-ceph
MicroK8s / MicroCeph (4/4)
microk8s connect-external-ceph
- Connect to Ceph cluster and initialize RBD pool
- Detect appropriate Ceph CSI version to deploy
- Generate Ceph client keyrings for ceph-csi
- Create Kubernetes resources for connecting to Ceph (ceph mons, keyrings)
- Create StorageClasses for consuming Ceph storage
MicroK8s / MicroCeph
Deploy microceph and microk8s on an edge environment and use Ceph for
storage
$ sudo snap install microceph --channel quincy/stable
$ sudo snap install microk8s --classic --channel 1.28/stable
$ sudo microk8s enable rook-ceph
$ sudo microk8s connect-external-ceph
Scenarios (1/4)
More complex Ceph configuration, use an RBD pool backed by specific OSDs
(e.g. tenant separation, use only SSD disks, …)
$ ceph osd crush rule create-replicated replicated_ssd default host ssd
$ rbd pool create microk8s-ssd-pool
$ ceph osd pool set microk8s-ssd-pool crush_rule replicated_ssd
$ microk8s connect-external-ceph --rbd-pool microk8s-ssd-pool
Scenarios (2/4)
CephFS for RWX support
$ ceph fs volume create microk8s-cephfs0
$ microk8s connect-external-ceph
Scenarios (3/4)
Integrate with any Ceph cluster
$ microk8s connect-external-ceph 
--ceph-conf ./ceph.conf 
--ceph-keyring ./keyring.conf
Scenarios (4/4)
Can I Try This Out?
Sure!
1.28 cluster in 5 min
$ sudo snap install microk8s --classic --channel 1.28/stable
MicroK8s releases on 1.28/edge within 24 hours after upstream release
MicroK8s
Thank you
Interaction
• Websites
https://microk8s.io/
https://github.com/canonical/microk8s
• Discussion on
https://discuss.kubernetes.io/tag/microk8s
or in Slack on the #microk8s channel
• Report Issues
https://github.com/canonical/microk8s/issues
• MicroK8s Community Sync
Every Friday, 1:30pm GMT
Video call link: https://meet.google.com/hjy-uogt-tax
Upcoming sessions from MicroK8s 1.28
- 1.28 Upstream Updates
- MicroK8s CIS conformance
- MicroK8s Dual Stack
- MicroK8s Ceph integration (feat MicroCeph)
Upcoming sessions calendar
https://www.meetup.com/microk8s-meetup-group/
MicroK8s
Thank you. Questions?
1 de 24

Recomendados

Docker, Docker Compose and Docker Swarm por
Docker, Docker Compose and Docker SwarmDocker, Docker Compose and Docker Swarm
Docker, Docker Compose and Docker SwarmCarlos E. Salazar
213 visualizações23 slides
Learned from KIND por
Learned from KIND Learned from KIND
Learned from KIND HungWei Chiu
113 visualizações56 slides
IBM RedHat OCP Vs xKS.pptx por
IBM RedHat OCP Vs xKS.pptxIBM RedHat OCP Vs xKS.pptx
IBM RedHat OCP Vs xKS.pptxssuser666667
196 visualizações18 slides
Docker Swarm 0.2.0 por
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker, Inc.
12.4K visualizações33 slides
Docker London: Container Security por
Docker London: Container SecurityDocker London: Container Security
Docker London: Container SecurityPhil Estes
16.9K visualizações21 slides
Introduction to Node.js por
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsRob O'Doherty
2.9K visualizações68 slides

Mais conteúdo relacionado

Mais procurados

Rootless Containers por
Rootless ContainersRootless Containers
Rootless ContainersAkihiro Suda
23.1K visualizações54 slides
User Management Life Cycle with Keycloak por
User Management Life Cycle with KeycloakUser Management Life Cycle with Keycloak
User Management Life Cycle with KeycloakMuhammad Edwin
533 visualizações38 slides
Slide DevSecOps Microservices por
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
618 visualizações48 slides
Introduction to container based virtualization with docker por
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with dockerBangladesh Network Operators Group
3.2K visualizações25 slides
Docker Architecture (v1.3) por
Docker Architecture (v1.3)Docker Architecture (v1.3)
Docker Architecture (v1.3)rajdeep
22.3K visualizações26 slides
Kubernetes 101 por
Kubernetes 101Kubernetes 101
Kubernetes 101Stanislav Pogrebnyak
150 visualizações33 slides

Mais procurados(20)

Rootless Containers por Akihiro Suda
Rootless ContainersRootless Containers
Rootless Containers
Akihiro Suda23.1K visualizações
User Management Life Cycle with Keycloak por Muhammad Edwin
User Management Life Cycle with KeycloakUser Management Life Cycle with Keycloak
User Management Life Cycle with Keycloak
Muhammad Edwin533 visualizações
Slide DevSecOps Microservices por Hendri Karisma
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
Hendri Karisma618 visualizações
Docker Architecture (v1.3) por rajdeep
Docker Architecture (v1.3)Docker Architecture (v1.3)
Docker Architecture (v1.3)
rajdeep22.3K visualizações
Introduction to openshift por MamathaBusi
Introduction to openshiftIntroduction to openshift
Introduction to openshift
MamathaBusi1.3K visualizações
Introduction to Vault por Knoldus Inc.
Introduction to VaultIntroduction to Vault
Introduction to Vault
Knoldus Inc.1K visualizações
Kubernetes architecture por Janakiram MSV
Kubernetes architectureKubernetes architecture
Kubernetes architecture
Janakiram MSV13.6K visualizações
Open shift 4 infra deep dive por Winton Winton
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
Winton Winton16.3K visualizações
Docker Introduction por Peng Xiao
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao1.5K visualizações
Deploy Application on Kubernetes por Opsta
Deploy Application on KubernetesDeploy Application on Kubernetes
Deploy Application on Kubernetes
Opsta143 visualizações
Kubernetes por Henry He
KubernetesKubernetes
Kubernetes
Henry He164 visualizações
Locking down your Kubernetes cluster with Linkerd por Buoyant
Locking down your Kubernetes cluster with LinkerdLocking down your Kubernetes cluster with Linkerd
Locking down your Kubernetes cluster with Linkerd
Buoyant 371 visualizações
Kubernetes por Meng-Ze Lee
KubernetesKubernetes
Kubernetes
Meng-Ze Lee441 visualizações
OpenShift Overview por roundman
OpenShift OverviewOpenShift Overview
OpenShift Overview
roundman5K visualizações
Introduction to Spring Cloud por VMware Tanzu
Introduction to Spring Cloud           Introduction to Spring Cloud
Introduction to Spring Cloud
VMware Tanzu2.1K visualizações
OpenShift 4, the smarter Kubernetes platform por Kangaroot
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
Kangaroot15.4K visualizações
The Beginner’s Guide To Spring Cloud por VMware Tanzu
The Beginner’s Guide To Spring CloudThe Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring Cloud
VMware Tanzu2K visualizações

Similar a MicroK8s 1.28 - MicroCeph on MicroK8s.pdf

CERN OpenStack Cloud Control Plane - From VMs to K8s por
CERN OpenStack Cloud Control Plane - From VMs to K8sCERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8sBelmiro Moreira
313 visualizações35 slides
Andrija Panic - Ceph with CloudStack por
Andrija Panic - Ceph with CloudStackAndrija Panic - Ceph with CloudStack
Andrija Panic - Ceph with CloudStackShapeBlue
284 visualizações29 slides
OpenNebulaConf 2016 - OpenNebula, a story about flexibility and technological... por
OpenNebulaConf 2016 - OpenNebula, a story about flexibility and technological...OpenNebulaConf 2016 - OpenNebula, a story about flexibility and technological...
OpenNebulaConf 2016 - OpenNebula, a story about flexibility and technological...OpenNebula Project
550 visualizações22 slides
Webinar - Getting Started With Ceph por
Webinar - Getting Started With CephWebinar - Getting Started With Ceph
Webinar - Getting Started With CephCeph Community
2.4K visualizações34 slides
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLES por
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLESQuick-and-Easy Deployment of a Ceph Storage Cluster with SLES
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLESJan Kalcic
2.7K visualizações57 slides
Ceph with CloudStack por
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStackShapeBlue
730 visualizações29 slides

Similar a MicroK8s 1.28 - MicroCeph on MicroK8s.pdf(20)

CERN OpenStack Cloud Control Plane - From VMs to K8s por Belmiro Moreira
CERN OpenStack Cloud Control Plane - From VMs to K8sCERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8s
Belmiro Moreira313 visualizações
Andrija Panic - Ceph with CloudStack por ShapeBlue
Andrija Panic - Ceph with CloudStackAndrija Panic - Ceph with CloudStack
Andrija Panic - Ceph with CloudStack
ShapeBlue284 visualizações
OpenNebulaConf 2016 - OpenNebula, a story about flexibility and technological... por OpenNebula Project
OpenNebulaConf 2016 - OpenNebula, a story about flexibility and technological...OpenNebulaConf 2016 - OpenNebula, a story about flexibility and technological...
OpenNebulaConf 2016 - OpenNebula, a story about flexibility and technological...
OpenNebula Project550 visualizações
Webinar - Getting Started With Ceph por Ceph Community
Webinar - Getting Started With CephWebinar - Getting Started With Ceph
Webinar - Getting Started With Ceph
Ceph Community 2.4K visualizações
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLES por Jan Kalcic
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLESQuick-and-Easy Deployment of a Ceph Storage Cluster with SLES
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLES
Jan Kalcic2.7K visualizações
Ceph with CloudStack por ShapeBlue
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStack
ShapeBlue730 visualizações
Ceph Day Shanghai - Hyper Converged PLCloud with Ceph por Ceph Community
Ceph Day Shanghai - Hyper Converged PLCloud with Ceph Ceph Day Shanghai - Hyper Converged PLCloud with Ceph
Ceph Day Shanghai - Hyper Converged PLCloud with Ceph
Ceph Community 113 visualizações
Automating Your CloudStack Cloud with Puppet por buildacloud
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppet
buildacloud981 visualizações
TUT18972: Unleash the power of Ceph across the Data Center por Ettore Simone
TUT18972: Unleash the power of Ceph across the Data CenterTUT18972: Unleash the power of Ceph across the Data Center
TUT18972: Unleash the power of Ceph across the Data Center
Ettore Simone3.4K visualizações
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup por Stefan Schimanski
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Stefan Schimanski5.5K visualizações
Who is afraid of privileged containers ? por Marko Bevc
Who is afraid of privileged containers ?Who is afraid of privileged containers ?
Who is afraid of privileged containers ?
Marko Bevc22 visualizações
SUSE - performance analysis-with_ceph por inwin stack
SUSE - performance analysis-with_cephSUSE - performance analysis-with_ceph
SUSE - performance analysis-with_ceph
inwin stack285 visualizações
Ceph and Mirantis OpenStack por Mirantis
Ceph and Mirantis OpenStackCeph and Mirantis OpenStack
Ceph and Mirantis OpenStack
Mirantis19.5K visualizações
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes] por Wong Hoi Sing Edison
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes][BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
[BarCamp2018][20180915][Tips for Virtual Hosting on Kubernetes]
Wong Hoi Sing Edison112 visualizações
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019 por Sean Cohen
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Sean Cohen1.7K visualizações
CEPH technical analysis 2014 por Erwan Quigna
CEPH technical analysis 2014CEPH technical analysis 2014
CEPH technical analysis 2014
Erwan Quigna322 visualizações
Performance analysis with_ceph por Alex Lau
Performance analysis with_cephPerformance analysis with_ceph
Performance analysis with_ceph
Alex Lau2.2K visualizações
Open vStorage Road show 2015 Q1 por wim_provoost
Open vStorage Road show 2015 Q1Open vStorage Road show 2015 Q1
Open vStorage Road show 2015 Q1
wim_provoost3.4K visualizações
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches por Robb Boyd
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series SwitchesTechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
Robb Boyd1.2K visualizações
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute por Patrick McGarry
In-Ceph-tion: Deploying a Ceph cluster on DreamComputeIn-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
Patrick McGarry1.6K visualizações

Último

FOSSLight Community Day 2023-11-30 por
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30Shane Coughlan
6 visualizações18 slides
Electronic AWB - Electronic Air Waybill por
Electronic AWB - Electronic Air Waybill Electronic AWB - Electronic Air Waybill
Electronic AWB - Electronic Air Waybill Freightoscope
5 visualizações1 slide
Top-5-production-devconMunich-2023-v2.pptx por
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTier1 app
6 visualizações42 slides
Understanding HTML terminology por
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminologyartembondar5
7 visualizações8 slides
Agile 101 por
Agile 101Agile 101
Agile 101John Valentino
10 visualizações20 slides
JioEngage_Presentation.pptx por
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptxadmin125455
8 visualizações4 slides

Último(20)

FOSSLight Community Day 2023-11-30 por Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan6 visualizações
Electronic AWB - Electronic Air Waybill por Freightoscope
Electronic AWB - Electronic Air Waybill Electronic AWB - Electronic Air Waybill
Electronic AWB - Electronic Air Waybill
Freightoscope 5 visualizações
Top-5-production-devconMunich-2023-v2.pptx por Tier1 app
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
Tier1 app6 visualizações
Understanding HTML terminology por artembondar5
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminology
artembondar57 visualizações
Agile 101 por John Valentino
Agile 101Agile 101
Agile 101
John Valentino10 visualizações
JioEngage_Presentation.pptx por admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254558 visualizações
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action por Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok16 visualizações
nintendo_64.pptx por paiga02016
nintendo_64.pptxnintendo_64.pptx
nintendo_64.pptx
paiga020166 visualizações
tecnologia18.docx por nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67025 visualizações
Generic or specific? Making sensible software design decisions por Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Bert Jan Schrijver7 visualizações
predicting-m3-devopsconMunich-2023.pptx por Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app8 visualizações
Benefits in Software Development por John Valentino
Benefits in Software DevelopmentBenefits in Software Development
Benefits in Software Development
John Valentino5 visualizações
MS PowerPoint.pptx por Litty Sylus
MS PowerPoint.pptxMS PowerPoint.pptx
MS PowerPoint.pptx
Litty Sylus7 visualizações
Keep por Geniusee
KeepKeep
Keep
Geniusee78 visualizações
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... por NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi216 visualizações
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx por animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm15 visualizações
EV Charging App Case por iCoderz Solutions
EV Charging App Case EV Charging App Case
EV Charging App Case
iCoderz Solutions9 visualizações
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... por sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik8 visualizações
Introduction to Maven por John Valentino
Introduction to MavenIntroduction to Maven
Introduction to Maven
John Valentino6 visualizações

MicroK8s 1.28 - MicroCeph on MicroK8s.pdf

  • 1. Ceph storage on MicroK8s! Angelos Kolaitis Senior Engineer @MicroK8s 1.29 Release Lead Shadow MicroK8s Friday 1st of September, 1:30 pm GMT https://meet.google.com/hjy-uogt-tax Philip Williams Product Manager Ceph &
  • 2. Agenda ● What is MicroCeph? ● MicroCeph advantages ● Deployment of MicroCeph ● MicroCeph on MicroK8s
  • 3. What is MicroCeph? Consistent, Isolated and Upgrade Friendly ● Streamlined and effortless deployment ● Minimal setup and maintenance overheads ● MicroCeph is containerised snap with all of its dependencies and runs fully isolated from the underlying host ● Using channels for the distribution, going from latest/stable to latest/edge is easy
  • 4. MicroCeph advantages Storage for non-experts ● Easiest way to deploy Ceph, just a few commands ● Designed for non-experts ● Highly scalable ○ dev workstation, to edge, to datacenter ● Reliable and resilient ● Open-source distributed storage system ● Flexibility for object, block, and file-level storage ● Supports encryption at rest too!
  • 5. snap install microceph microceph cluster bootstrap microceph cluster add node[x] microceph cluster join pasted-output-from-node1 microceph.ceph status microceph disk add /dev/sd[x] --wipe microceph.ceph status microceph.ceph osd status MicroCeph deployment microceph.com QR Code?
  • 8. Ceph Storage in MicroK8s MicroK8s +
  • 9. - Kubernetes solves container orchestration issues at scale - I can run my massive distributed workloads at scale (machine learning, video transcoding, my SaaS business) - Where can I store the end results? - We need persistent storage! - CSI (Container Storage Interface) - Kubernetes does not solve the problem of distributed storage, since performance, stability requirements might differ - Instead, it defines a standard interface to consume any storage - Which CSI driver? Depends! - On a public cloud? aws-ebs-csi-driver, azurefile-csi-driver, … - On a private cloud? cinder-csi-driver, … - On bare-metal? BYOS! - Ceph Distributed Storage In Kubernetes
  • 10. - Ceph CSI! - Supports CephRBD (ideal for RWO volumes) - Supports CephFS (supports RWX volumes) Ceph storage in Kubernetes
  • 11. sudo microk8s enable rook-ceph Deploy rook-operator on the MicroK8s cluster Rook can: - deploy a Ceph cluster inside the MicroK8s cluster, using disks from the hosts - integrate with external Ceph clusters and manage them as citizens in Kubernetes MicroK8s Rook Ceph addon (1/2)
  • 12. sudo microk8s enable rook-ceph Why Rook? - Can detect the right CSI version depending on running K8s and Ceph - (Optionally) Can be used to manage Ceph from Kubernetes - (Optionally) Simplifies ceph auth clients and keyrings - (Optionally) Can deploy a Ceph cluster on top of the Kubernetes nodes MicroK8s Rook Ceph addon (2/2)
  • 13. Install MicroCeph $ sudo snap install microceph --channel quincy/stable $ sudo microceph cluster bootstrap $ sudo microceph disk add $disks --wipe --encrypt MicroK8s / MicroCeph (1/4)
  • 14. Install MicroK8s $ sudo snap install microk8s --classic --channel 1.28/stable MicroK8s / MicroCeph (2/4)
  • 15. Enable Ceph addon $ sudo microk8s enable rook-ceph MicroK8s / MicroCeph (3/4)
  • 16. Consume MicroCeph $ sudo microk8s connect-external-ceph MicroK8s / MicroCeph (4/4)
  • 17. microk8s connect-external-ceph - Connect to Ceph cluster and initialize RBD pool - Detect appropriate Ceph CSI version to deploy - Generate Ceph client keyrings for ceph-csi - Create Kubernetes resources for connecting to Ceph (ceph mons, keyrings) - Create StorageClasses for consuming Ceph storage MicroK8s / MicroCeph
  • 18. Deploy microceph and microk8s on an edge environment and use Ceph for storage $ sudo snap install microceph --channel quincy/stable $ sudo snap install microk8s --classic --channel 1.28/stable $ sudo microk8s enable rook-ceph $ sudo microk8s connect-external-ceph Scenarios (1/4)
  • 19. More complex Ceph configuration, use an RBD pool backed by specific OSDs (e.g. tenant separation, use only SSD disks, …) $ ceph osd crush rule create-replicated replicated_ssd default host ssd $ rbd pool create microk8s-ssd-pool $ ceph osd pool set microk8s-ssd-pool crush_rule replicated_ssd $ microk8s connect-external-ceph --rbd-pool microk8s-ssd-pool Scenarios (2/4)
  • 20. CephFS for RWX support $ ceph fs volume create microk8s-cephfs0 $ microk8s connect-external-ceph Scenarios (3/4)
  • 21. Integrate with any Ceph cluster $ microk8s connect-external-ceph --ceph-conf ./ceph.conf --ceph-keyring ./keyring.conf Scenarios (4/4)
  • 22. Can I Try This Out? Sure! 1.28 cluster in 5 min $ sudo snap install microk8s --classic --channel 1.28/stable MicroK8s releases on 1.28/edge within 24 hours after upstream release MicroK8s
  • 23. Thank you Interaction • Websites https://microk8s.io/ https://github.com/canonical/microk8s • Discussion on https://discuss.kubernetes.io/tag/microk8s or in Slack on the #microk8s channel • Report Issues https://github.com/canonical/microk8s/issues • MicroK8s Community Sync Every Friday, 1:30pm GMT Video call link: https://meet.google.com/hjy-uogt-tax Upcoming sessions from MicroK8s 1.28 - 1.28 Upstream Updates - MicroK8s CIS conformance - MicroK8s Dual Stack - MicroK8s Ceph integration (feat MicroCeph) Upcoming sessions calendar https://www.meetup.com/microk8s-meetup-group/ MicroK8s