Skip to content

Commit

Permalink
Add doc for external storage provider.
Browse files Browse the repository at this point in the history
  • Loading branch information
timolow committed Mar 22, 2024
1 parent b6b6f7d commit dc1115b
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions docs/storage-external-block.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# External Block - Bring Your Own Storage

For some Topo/Ceph/NFS are not great fits, Genestack allows for external block devices to be used in the stand up and operation of Openstack.

## Deploy External CSI driver in Genestack

Follow Documentation on getting a storage class presented to k8s, name it "general" and mark that storage class as default, in this example storage is provided by democratic csi driver over iscsi.

``` shell
(genestack) root@genestack-controller1:/opt/genestack/submodules/openstack-helm# kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
general (default) org.democratic-csi.iscsi Delete Immediate true 3h15m
```

!!! info

OSD placement is done on nodes with label ‘openstack-control-plane’, a minimum of 3 nodes is required for a healthy Ceph cluster.

Deploy Ceph operator

``` shell
kubectl apply -k /opt/genestack/kustomize/rook-operator/
```

Deploy Ceph on PVC

``` shell
kubectl apply -k /opt/genestack/kustomize/rook-cluster-external-pvc/
```

Monitor cluster state, once cluster HEALTH_OK proceed to the next step

``` shell
(genestack) root@genestack-controller1:/opt/genestack/submodules/openstack-helm# kubectl --namespace rook-ceph get cephclusters.ceph.rook.io
NAME DATADIRHOSTPATH MONCOUNT AGE PHASE MESSAGE HEALTH EXTERNAL FSID
rook-ceph /var/lib/rook 3 129m Ready Cluster created successfully HEALTH_OK 9a6657cd-f3ab-4d70-b276-a05e2ca03e1b
```

Deploy cephfs filesystem named 'general-multi-attach' for Glance consumption

``` shell
kubectl apply -k /opt/genestack/kustomize/rook-defaults-external-pvc/
```

You should now have two storage class providers configured for Genestack

``` shell
(genestack) root@genestack-controller1:/opt/genestack/submodules/openstack-helm# kubectl get sc -A
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
general (default) org.democratic-csi.iscsi Delete Immediate true 3h25m
general-multi-attach rook-ceph.cephfs.csi.ceph.com Delete Immediate true 85m
```

0 comments on commit dc1115b

Please sign in to comment.