From c26d0d3f40c56ff08341ef5c81d5e1e4ac4a7418 Mon Sep 17 00:00:00 2001 From: Steffen Illium Date: Wed, 1 May 2024 14:24:35 +0200 Subject: [PATCH] rook storagepool and class --- .../04-rook-ceph/base/storageclass.yaml | 57 +++++++++++++++++++ .../04-rook-ceph/kustomization.yaml | 1 + 2 files changed, 58 insertions(+) create mode 100644 infrastructure/04-rook-ceph/base/storageclass.yaml diff --git a/infrastructure/04-rook-ceph/base/storageclass.yaml b/infrastructure/04-rook-ceph/base/storageclass.yaml new file mode 100644 index 0000000..ee4f3e7 --- /dev/null +++ b/infrastructure/04-rook-ceph/base/storageclass.yaml @@ -0,0 +1,57 @@ +apiVersion: ceph.rook.io/v1 +kind: CephBlockPool +metadata: + name: replicapool + namespace: rook-ceph +spec: + failureDomain: host + replicated: + size: 3 +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: rook-ceph-block +# Change "rook-ceph" provisioner prefix to match the operator namespace if needed +provisioner: rook-ceph.rbd.csi.ceph.com +parameters: + # clusterID is the namespace where the rook cluster is running + clusterID: rook-ceph + # Ceph pool into which the RBD image shall be created + pool: replicapool + + # RBD image format. Defaults to "2". + imageFormat: "2" + + # RBD image features + # Available for imageFormat: "2". Older releases of CSI RBD + # support only the `layering` feature. The Linux kernel (KRBD) supports the + # full complement of features as of 5.4 + # `layering` alone corresponds to Ceph's bitfield value of "2" ; + # `layering` + `fast-diff` + `object-map` + `deep-flatten` + `exclusive-lock` together + # correspond to Ceph's OR'd bitfield value of "63". Here we use + # a symbolic, comma-separated format: + # For 5.4 or later kernels: + imageFeatures: layering,fast-diff,object-map,deep-flatten,exclusive-lock + # For 5.3 or earlier kernels: + # imageFeatures: layering + + # The secrets contain Ceph admin credentials. + csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph + csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph + csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node + csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph + + # Specify the filesystem type of the volume. If not specified, csi-provisioner + # will set default as `ext4`. Note that `xfs` is not recommended due to potential deadlock + # in hyperconverged settings where the volume is mounted on the same node as the osds. + csi.storage.k8s.io/fstype: ext4 + +# Delete the rbd volume when a PVC is deleted +reclaimPolicy: Delete + +# Optional, if you want to add dynamic resize for PVC. +# For now only ext3, ext4, xfs resize support provided, like in Kubernetes itself. +allowVolumeExpansion: true \ No newline at end of file diff --git a/infrastructure/04-rook-ceph/kustomization.yaml b/infrastructure/04-rook-ceph/kustomization.yaml index 27d3693..8846bba 100644 --- a/infrastructure/04-rook-ceph/kustomization.yaml +++ b/infrastructure/04-rook-ceph/kustomization.yaml @@ -5,6 +5,7 @@ namespace: rook-ceph resources: - nfs + - base/storageclass.yaml - base/ingress.yaml - base/toolbox.yaml - base/cluster.yaml