1
0
mirror of https://github.com/funkypenguin/geek-cookbook/ synced 2025-12-23 06:31:49 +00:00
Files
geek-cookbook/manuscript/kubernetes/persistence/rook-ceph.md
David Young bb165f5e7f Add Mastodon review
Signed-off-by: David Young <davidy@funkypenguin.co.nz>
2022-08-09 13:53:51 +12:00

1.8 KiB

title, description
title description
How to use Rook Ceph for Persistent Storage in Kubernetes How to deploy Rook Ceph into your Kubernetes cluster for persistent storage

Persistent storage in Kubernetes with Rook Ceph / CephFS

Ceph is a highly-reliable, scalable network storage platform which uses individual disks across participating nodes to provide fault-tolerant storage.

Ceph Screenshot{ loading=lazy }

Rook provides an operator for Ceph, decomposing the 10-year-old, at-time-arcane, platform into cloud-native components, created declaratively, whose lifecycle is managed by an operator.

Rook Ceph requirements

!!! summary "Ingredients"

Already deployed:

* [x] A [Kubernetes cluster](/kubernetes/cluster/)
* [x] [Flux deployment process](/kubernetes/deployment/flux/) bootstrapped
* [x] An [Ingress](/kubernetes/ingress/) to route incoming traffic to services  

New:

* [ ] At least 3 nodes with dedicated disks available (*more is better*)

Preparation

Namespace

We need a namespace to deploy our HelmRelease and associated ConfigMaps into. Per the flux design, I create this example yaml in my flux repo at /bootstrap/namespaces/namespace-rook-system.yaml:

apiVersion: v1
kind: Namespace
metadata:
  name: rook-system

HelmRepository

apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
  name: rook-release
  namespace: flux-system
spec:
  interval: 15m
  url: https://charts.rook.io/release