Deploy SUSE Enterprise Storage on Kubernetes in just 7 easy steps

The technical preview for running SUSE Enterprise Storage on Rook using SUSE CaaSP Platform has been out for about a month now, but if you haven’t had time to give it a try, here’s how to do it quickly and easily.

One of the goals of the tech preview is to show the path forward for running Ceph software-defined storage in containers on Kubernetes, an innovation that allows users to focus on the storage they need, not the process of setting it up.

In this example, you’ll need a running CaaSP 4.0 cluster and registration codes for CaaSP and SUSE Enterprise Storage 6. You can get free 60-day trials when you download the products. You’ll also need kubectl running on your workstation with access to your CaaSP cluster.

Note that this is not a production setup. It’s for testing purposes only. Accessing the Ceph Dashboard is done via a transient node port, not a true ingress controller (such as metallb). If you want a more permanent solution, adding an ingress controller should be part of your plan.

1. On your CaaSP admin node, add the SES 6 product

# SUSEConnect --product ses/6/x86_64 -r YOUR-KEY-HERE

2. Install the rook-k8s-yaml package

# zypper in rook-k8s-yaml

3. Apply the YAML files, located in /usr/share/k8s-yaml/rook/ceph/

# cd /usr/share/k8s-yaml/rook/ceph/
# kubectl apply -f common.yaml -f operator.yaml

4. Wait for the pods to come up

# kubectl get pods -n rook-ceph -w

5. Deploy the cluster and wait for the pods to come up

# kubectl apply -f cluster.yaml
# kubectl get pods -n rook-ceph -w

6. Expose the Ceph Dashboard by applying the dashboard and loadbalancer YAML files

# kubectl apply -f dashboard-external-https.yaml # kubectl apply -f dashboard-loadbalancer.yaml # kubectl apply -f dashboard-ingress-https.yaml

(Dashboard documentation)

7. Get the node port for the dashboard and get the password for Ceph Manager by exposing the secret

# kubectl get service rook-ceph-mgr-dashboard-external-https -n rook-ceph -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
rook-ceph-mgr-dashboard-external-https NodePort 10.109.65.184 <none> 8443:31046/TCP 26m app=rook-ceph-mgr,rook_cluster=rook-ceph
k # kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o jsonpath="{['data']['password']}" | base64 --decode && echo

You can now access the Ceph Dashboard by pointing your browser to one of your CaaSP worker nodes and using the external port, 31046 in this case:

Leave a Reply

Your email address will not be published. Required fields are marked *