Use Azure Blob storage Container Storage Interface (CSI) driver on an ARO cluster
This content is authored by Red Hat experts, but has not yet been tested on every supported configuration.
The Azure Blob Storage Container Storage Interface (CSI) is a CSI compliant driver that can be installed to an Azure Red Hat OpenShift (ARO) cluster to manage the lifecycle of Azure Blob storage.
When you use this CSI driver to mount an Azure Blob storage into a pod, it allows you to use blob storage to work with massive amounts of data.
You can refer also to the driver’s documentation here .
Prerequisites
- ARO cluster up and running.
- Helm - command line utility
- oc - command line utility.
- jq - command line utility.
Set the environment variables related to your cluster environment:
Update the
LOCATION,CLUSTER_NAME, andRG_NAMEvariables in the snippet below to match your cluster details:Set some environment variables related to the project and secret names used to install the driver, and the testing project’s name where a pod will be using the configured storage:
Set other environment variables to be used to create the testing resources, such as the azure storage account and its blob container:
Create an identity for the CSI Driver to access the Blob Storage
The cluster must use an identity with proper permissions to access the blob storage.
Create a specific service principal for this purpose.
Once we have all the environment variables set, we need to create the configuration file we will use to populate a json structure with all the data needed.
Check that all the attributes are populated.
NOTE: Take care when executing this validation, since sensitive information should be disclosed in your screen.
Create the project where you are going to install the driver and then create the secret in it.
NOTE: It is good idea to delete the cloud.conf file, since it has sensitive information.
Driver installation
Now, we need to install the driver, which could be done using a helm chart. This helm chart will install two pods in the driver’s project.
Assign permissions to the defined driver service accounts prior to the helm chart installation.
Use helm to install the driver once we have the permissions set.
Note: Blobfuse Proxy is supported on CoreOS (OpenShift) starting from v1.23.2 Blobfuse Proxy Guide .
Test the CSI driver is working
The first step for the test is the creation of the storage account and the blob container.
At this point, you must give permissions to the driver to access the Blob storage.
We need to create another project where the testing pod will run.
Now, you are ready to create the storage class, the persistent volume claim and the testing pod.
Wait until the Pod is created
Get a shell inside the pod and view the file in the blob storage
You should see an output like this:

Clean up
This section is to delete all the resources created with this guideline.