Installation Guide
- Set up a Kubernetes cluster following the official documentation.
- Proceed to the Prerequisite.
- Complete the base installation.
- Proceed with module installation.
Operator Installation
To deploy the Operator, follow the instructions available here.
For details on enabling NVMe/TCP, refer to the NVMe/TCP Support section in the Features page.
CSI Driver Installation
-
Create namespace:
kubectl create namespace vxflexosThis command creates a namespace called
vxflexos. You can replacevxflexoswith any name you prefer. -
Create
secret.yaml.-
Create a file called
secret.yamlor pick a sample that has Powerflex array connection details:- username: "admin" password: "password" systemID: "2b11bb111111bb1b" endpoint: "https://127.0.0.2" skipCertificateValidation: true mdm: "10.0.0.3,10.0.0.4" nasName : "nasServer" blockProtocol: "auto"- Update Parameters: Replace placeholders with actual values for your Powerflex array.
- Add Blocks: If you have multiple Powerflex arrays, add similar blocks for each one.
- Replication: If replication is enabled, make sure the
secret.yamlincludes all involved Powerflex arrays.
-
After editing the file, run this command to create a secret called
vxflexos-config.kubectl create secret generic vxflexos-config -n vxflexos --from-file=config=secret.yamlUse this command to replace or update the secret:
kubectl create secret generic vxflexos-config -n vxflexos --from-file=config=secret.yaml -o yaml --dry-run=client | kubectl replace -f -
-
-
Install driver:
i. Create a CR (Custom Resource) for PowerFlex using the sample files provided
Starting from CSM version 1.16, users can utilize the
spec.versionparameter for automatic image management. No ConfigMap or custom registry configuration needed. For more details click on Advanced Image Configuration Options section.a. Minimal Configuration:
apiVersion: storage.dell.com/v1 kind: ContainerStorageModule metadata: name: vxflexos namespace: vxflexos spec: version: v1.16.1 driver: csiDriverType: "powerflex" forceRemoveDriver: trueRefer the minimal sample files provided in respective CSM versions folder under samples here. Modify if needed.
[OR]
b. Detailed Configuration: Use the sample file for detailed settings.
Note:
- Configure the parameters in the CR. The table below lists the primary configurable parameters of the PowerFlex driver and their default values:
ii . Run this command to create a PowerFlex custom resource:
kubectl create -f <input_sample_file.yaml>
This command will deploy the CSI-PowerFlex driver in the namespace specified in the input YAML file.
-
Verify the installation:
- Check if ContainerStorageModule CR is created successfully using the command below:
kubectl get csm/vxflexos -n vxflexos - Check the status of the CR to verify if the driver installation is in the
Succeedstate. If the status is notSucceed, see the Troubleshooting guide for more information.
- Check if ContainerStorageModule CR is created successfully using the command below:
-
Create Storage class:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: vxflexos annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: csi-vxflexos.dellemc.com reclaimPolicy: Delete allowVolumeExpansion: true parameters: storagepool: <STORAGE_POOL> systemID: <SYSTEM_ID> csi.storage.k8s.io/fstype: ext4 volumeBindingMode: WaitForFirstConsumer allowedTopologies: - matchLabelExpressions: - key: csi-vxflexos.dellemc.com/<SYSTEM_ID> values: - csi-vxflexos.dellemc.comRefer Storage Class for different sample files.
Run this command to create a storage class
kubectl create -f < storage-class.yaml > -
Create Volume Snapshot Class:
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: vxflexos-snapclass deletionPolicy: DeleteRefer Volume Snapshot Class sample file.
Run this command to create a volume snapshot class
kubectl create -f < volume-snapshot-class.yaml >
Note :
- Snapshotter and resizer sidecars are installed by default.