--- title: "Deploying VAST CSI Driver on OpenShift with VAST CSI Operator" slug: "deploying-vast-csi-driver-on-openshift-with-vast-csi-operator-2-5" updated: 2026-11-06T00:56:55Z published: 2026-11-06T00:56:55Z canonical: "docs.vastdata.com/deploying-vast-csi-driver-on-openshift-with-vast-csi-operator-2-5" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.vastdata.com/llms.txt > Use this file to discover all available pages before exploring further. # Deploying VAST CSI Driver on OpenShift with VAST CSI Operator [VAST CSI Operator](https://catalog.redhat.com/software/container-stacks/detail/5f74e44ee13f2c4bdca41b30) is an [OpenShift operator](https://www.redhat.com/en/technologies/cloud-computing/openshift/what-are-openshift-operators) that helps deploy, configure and upgrade VAST CSI Driver in Red Hat OpenShift environments. To deploy VAST CSI Driver using VAST CSI Operator: > [!NOTE] > **Note** > > Before you start, ensure that the VAST cluster on which you are going to provision storage is [configured](/develop/docs/en/configure-vast-cluster-for-vast-csi-driver-2-5) for CSI use. 1. Follow [OpenShift Operator guidelines](https://catalog.redhat.com/software/container-stacks/detail/5f74e44ee13f2c4bdca41b30#deploy%20&%20use) to install VAST CSI Operator. 2. Use VAST CSI Operator to deploy the VAST CSI Driver [custom resources](/develop/docs/en/deploying-vast-csi-driver-on-openshift-with-vast-csi-operator-2-5#custom-resource-definitions-in-vast-csi-operator): `VastCSIDriver`, `VastCluster` and `VastStorage`. Each of the three resources is required. 3. [Use](/develop/docs/en/deploying-vast-csi-driver-on-openshift-with-vast-csi-operator-2-5#using-vaststorage-generated-storage-class-in-pvcs) the storage class generated by the `VastStorage` custom resource instance in your PVCs to provision storage. 4. [Assign](/develop/docs/en/deploying-vast-csi-driver-on-openshift-with-vast-csi-operator-2-5#assigning-sccs-to-vast-csi-driver) OpenShift Security Context Constraints (SCCs) to VAST CSI Driver. > [!NOTE] > **Note** > > VAST CSI Operator does not provide a CRD for VAST snapshots. If you are going to use VAST snapshots with VAST CSI Driver, [install](/develop/docs/en/install-crds-for-vast-snapshots-2-5) the snapshot CRDs manually. ## Custom Resource Definitions in VAST CSI Operator VAST CSI Operator introduces the following Custom Resource Definitions (CRD): - `VastCSIDriver` is a common specification for the VAST CSI Controller and VAST CSI Node, for example: ```plaintext apiVersion: storage.vastdata.com/v1 kind: VastCSIDriver metadata:  name: csidriver  namespace: vast-csi spec:  image:    csiVastPlugin:      image: vastdataorg/csi:v2.5.0 ``` - `VastCluster` specifies the VAST endpoint, username and password to connect to the VAST cluster where volumes will be provisioned. These settings are stored in a VAST CSI Driver's Kubernetes [secret](/develop/docs/en/create-a-kubernetes-secret-with-vms-user-credentials-for-vast-csi-driver-2-5). For example: ```plaintext apiVersion: storage.vastdata.com/v1 kind: VastCluster metadata:  name: cluster  namespace: vast-csi spec:  endpoint: 198.151.100.12  username: admin  password: "xxxxxx" ``` You can create multiple `VastCluster` instances to access different VAST clusters, or to access the same VAST cluster using different credentials. - `VastStorage` defines VAST [storage options](/develop/docs/en/using-storage-classes-2-5#storage-class-option-reference) to be used when provisioning volumes on the VAST cluster, such as the path to the volumes on the VAST cluster, VAST view policy, VAST virtual IP pool name or FQDN, additional mount options, and so on. This resource generates a [storage class](/develop/docs/en/using-storage-classes-2-5) (and optionally a [snapshot class](/develop/docs/en/create-a-volume-snapshot-2-5)) that you can use in your PVCs. For example: ```plaintext apiVersion: storage.vastdata.com/v1 kind: VastStorage metadata:  name: vastdata-filesystem  namespace: vast-csi spec:  clusterName: cluster  storagePath: "/k8s"  viewPolicy: "default"  vipPool: "vippool-1"  allowVolumeExpansion: true  createSnapshotClass: true ``` ## Using VastStorage-generated Storage Class in PVCs In your PVC, specify the name of the storage class generated based on the VastStorage CRD as the `storageClassName`, for example: For example: ```plaintext apiVersion: v1 kind: PersistentVolumeClaim metadata:  name: csi-pvc spec:  accessModes:  - ReadWriteOnce  resources:    requests:      storage: 1Gi  storageClassName: vastdata-filesystem ``` ## Assigning SCCs to VAST CSI Driver Assign OpenShift Security Context Constraints (SCC) to VAST CSI Driver service accounts so that VAST CSI Driver is able to create mount points on the host machine: ```plaintext oc adm policy add-scc-to-user privileged -z -vast-controller-sa -n oc adm policy add-scc-to-user privileged -z -vast-node-sa -n ``` Where: - `<release name>` identifies the VAST CSI Driver release being deployed. - `<namespace name>` is the namespace to which VAST CSI Driver will be deployed. For example: ```plaintext oc adm policy add-scc-to-user privileged -z csi-vast-controller-sa -n vastcsi oc adm policy add-scc-to-user privileged -z csi-vast-node-sa -n vastcsi ```