Installation Guide
- Set up a Kubernetes cluster following the official documentation.
- Complete the base installation.
- Proceed with module installation.
Operator Installation
To deploy the Operator, follow the instructions available here.
Install CSI Driver
-
Create namespace:
kubectl create namespace isilon
This command creates a namespace called
isilon
. You can replaceisilon
with any name you prefer. -
Create
secret
file:.a. Create a file called
secret.yaml
or pick a sample that has PowerScale array connection details:isilonClusters: - clusterName: "cluster2" username: "user" password: "password" endpoint: "1.2.3.4" endpointPort: "8080"
- Update Parameters: Replace placeholders with actual values for your PowerScale array.
- Add Blocks: If you have multiple PowerScale arrays, add similar blocks for each one.
- Replication: If replication is enabled, make sure the
secret.yaml
includes all involved PowerScale arrays.
kubectl create secret generic isilon-creds -n isilon --from-file=config=secret.yaml
Use the following command to replace or update the secret
kubectl create secret generic isilon-creds -n isilon --from-file=config=secret.yaml -o yaml --dry-run | kubectl replace -f -
Note: The user needs to validate the YAML syntax and array related key/values while replacing the isilon-creds secret. The driver will continue to use previous values in case of an error found in the YAML file.
-
Create isilon-certs-n secret.
Please refer this section for creating cert-secrets.
If certificate validation is skipped, empty secret must be created. To create an empty secret. Ex: empty-secret.yaml
apiVersion: v1 kind: Secret metadata: name: isilon-certs-0 namespace: isilon type: Opaque data: cert-0: ""
kubectl create -f empty-secret.yaml
-
Install Driver
i. Create a CR (Custom Resource) for PowerFlex using the sample files provided
a. Minimal Configuration:
apiVersion: storage.dell.com/v1 kind: ContainerStorageModule metadata: name: isilon namespace: isilon spec: driver: csiDriverType: "isilon" configVersion: v2.14.0 forceRemoveDriver: true
sample file for default settings. Modify if needed.
[OR]
b. Detailed Configuration: Use the sample file for detailed settings or use Wizard to generate the sample file.
- Users should configure the parameters in CR. The following table lists the primary configurable parameters of the PowerScale driver and their default values:
ii. Create PowerScale custom resource:
kubectl create -f <input_sample_file.yaml>
This command will deploy the PowerScale driver in the namespace specified in the input YAML file.
-
Verify the installation as mentioned below
- Check if ContainerStorageModule CR is created successfully using the command below:
kubectl get csm/isilon -n isilon
- Check the status of the CR to verify if the driver installation is in the
Succeeded
state. If the status is notSucceeded
, 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: isilon provisioner: csi-isilon.dellemc.com reclaimPolicy: Delete allowVolumeExpansion: true parameters: AccessZone: System IsiPath: /ifs/data/csi RootClientEnabled: "false" volumeBindingMode: Immediate
Refer 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: isilon-snapclass driver: csi-isilon.dellemc.com deletionPolicy: Delete parameters: IsiPath: /ifs/data/csi
Refer Volume Snapshot Class for the sample files.
Run this command to create a volume snapshot class
kubectl create -f < volume-snapshot-class.yaml >
Note :
- “Kubelet config dir path” is not yet configurable in case of Operator based driver installation.
- Also, snapshotter and resizer sidecars are not optional to choose, it comes default with Driver installation.