Operator
Operator Installation
To deploy the Operator, follow the instructions available here.
CSM Installation Wizard Support Matrix Click Here
The Container Storage Modules Installation Wizard is a webpage that helps you create a manifest file to install Dell CSI Drivers and CSM Modules. Users can enable or disable modules through the UI, and it generates a single manifest file, eliminating the need to download individual Helm charts for drivers and modules.
Generate Manifest File
- Open the Installation Wizard.
- Select the
Installation Type
asHelm
/Operator
. - Select the
Array
. - Enter the
Image Repository
. The default value isdellemc
. - Select the
CSM Version
. - Select the modules for installation. If there are module specific inputs, enter their values.
- If needed, modify the
Controller Pods Count
. - If needed, select
Install Controller Pods on Control Plane
and/orInstall Node Pods on Control Plane
. - Enter the
Namespace
. The default value iscsi-<array>
. - Click on
Generate YAML
. - A manifest file,
values.yaml
will be generated and downloaded. - A section
Run the following commands to install
will be displayed. - Run the commands displayed to install Dell CSI Driver and Modules using the generated manifest file.
Installation Using Operator
Steps
NOTE: Ensure that the csm-operator is installed and that the namespace, secrets, and
config.yaml
are created as prerequisites.
-
Copy the downloaded
values.yaml
file. -
Look over all the fields in the generated
values.yaml
and fill in/adjust any as needed.
NOTE: The CSM Installation Wizard generates
values.yaml
with the minimal inputs required to install the CSM. To configure additional parameters in values.yaml, you can follow the steps outlined in CSI Driver, Resiliency.
- If Observability is checked in the wizard, refer to Observability to export metrics to Prometheus and load the Grafana dashboards.
- If Authorization is checked in the wizard, only the sidecar is enabled. Refer to Authorization to install and configure the CSM Authorization Proxy Server.
- If Replication is checked in the wizard, refer to Replication for the necessary prerequisites required for this module.
- Install the Operator.
On your terminal, run this command:
kubectl create -f values.yaml
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.13.0 forceRemoveDriver: true
sample file for default settings. Modify if needed.
[OR]
b. Detailed Configuration: Use the sample file for detailed settings.
- 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.