Cloud Experts Documentation

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 hereexternal link (opens in new tab) .

Prerequisites

  1. Set the environment variables related to your cluster environment:

    Update the LOCATION, CLUSTER_NAME, and RG_NAME variables in the snippet below to match your cluster details:

  2. 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:

  3. 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.

  1. Create a specific service principal for this purpose.

  2. 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.

  3. Check that all the attributes are populated.

    NOTE: Take care when executing this validation, since sensitive information should be disclosed in your screen.

  4. 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.

  1. Assign permissions to the defined driver service accounts prior to the helm chart installation.

  2. 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 Guideexternal link (opens in new tab) .

Test the CSI driver is working

  1. The first step for the test is the creation of the storage account and the blob container.

  2. At this point, you must give permissions to the driver to access the Blob storage.

  3. We need to create another project where the testing pod will run.

  4. Now, you are ready to create the storage class, the persistent volume claim and the testing pod.

  5. Wait until the Pod is created

  6. Get a shell inside the pod and view the file in the blob storage

  7. You should see an output like this:

    Image

Clean up

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

Interested in contributing to these docs?

Collaboration drives progress. Help improve our documentation The Red Hat Way.

Red Hat logo LinkedIn YouTube Facebook Twitter

Products

Tools

Try, buy & sell

Communicate

About Red Hat

We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Subscribe to our newsletter, Red Hat Shares

Sign up now
© 2023 Red Hat, Inc.