Difficulty: beginner
Estimated Time: 5-15 minutes

This is a single node installation of StorageOS with OpenShift 3.7. From here you can see how pods and deployments interact with StorageOS.

StorageOS and OpenShift 3.7

Step 1 of 4

Install StorageOS

Prepare host

First, ensure all the pre-req kernel modules are enabled by running the following.

./enable-lio.sh

Install StorageOS

(Openshift 3.9 supports feature gates such as mount propagation, but this is not available in Openshift 3.7. As a result, the install of StorageOS in this scenario is done by container install rather than using a DaemonSet)

docker run -d --name storageos \ -e HOSTNAME \ -e ADVERTISE_IP=[[HOST_IP]] \ -e JOIN=[[HOST_IP]] \ --pid=host \ --network=host \ --privileged \ --cap-add SYS_ADMIN \ --device /dev/fuse \ -v /sys:/sys \ -v /var/lib/storageos:/var/lib/storageos:rshared \ -v /run/docker/plugins:/run/docker/plugins \ storageos/node:1.0.0-rc2 server

Create StorageClass

First, create a secret that specifies the StorageOS api endpoint.

APIADDRESS=$(echo -n "tcp://127.0.0.1:5705" | base64); sed -i "s/REPLACE/$APIADDRESS/g" secret.yaml

oc --as system:admin -n default create -f secret.yaml

Create fast StorageClass:

oc --as system:admin create -f storageclass.yaml