Installation Guide
- Set up a Kubernetes cluster following the official documentation.
- Proceed to the Prerequisite.
- Complete the base installation.
- Proceed with module installation.
Install Helm 3
Install Helm 3 on the master node before you install CSI Driver for PowerMax.
Steps
Run the command to install Helm 3.
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
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.
Note:Ensure Helm 3.x, namespace, and secrets are set up before installing the Helm chart.
Generate Manifest File
- Open the CSM 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 Helm Chart
Steps
NOTE: Ensure Helm 3.x, namespace, and secrets are set up before installing the Helm chart.
-
Add the Dell Helm Charts repository.
On your terminal, run each of the commands below:
helm repo add dell https://dell.github.io/helm-charts helm repo update
-
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 ,Observability, Replication, ,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 on configuring communication between Kubernetes clusters.
-
If your Kubernetes distribution doesn’t have the Volume Snapshot feature enabled, refer to this section to install the Volume Snapshot CRDs and the default snapshot controller.
-
Install the Helm chart.
On your terminal, run this command:
helm install <release-name> dell/container-storage-modules -n <namespace> --version <container-storage-module chart-version> -f <values.yaml location>
Example: helm install powermax dell/container-storage-modules -n csi-powermax –version 1.7.0 -f values.yaml
Volume Snapshot Requirements (Optional)
For detailed snapshot setup procedure, click here.
Install Driver
Steps
-
Clone the csi-powermax repository, using the latest release branch. This will include the Helm charts and dell-csi-helm-installer scripts.
git clone -b v2.14.0 https://github.com/dell/csi-powermax.git cd ./csi-powermax
-
Create a namespace in which the driver will be installed.
kubectl create namespace powermax
-
Create a file called
secret.yaml
or pick a sample that has Powermax array connection details:storageArrays: - storageArrayId: "000000000001" primaryEndpoint: https://primary-1.unisphe.re:8443 backupEndpoint: https://backup-1.unisphe.re:8443 managementServers: - endpoint: https://primary-1.unisphe.re:8443 username: admin password: password skipCertificateValidation: true limits: maxActiveRead: 10 maxActiveWrite: 10 maxOutstandingRead: 10 maxOutstandingWrite: 10 - endpoint: https://backup-1.unisphe.re:8443 username: admin2 password: password2 skipCertificateValidation: false certSecret: my-unishpere-cert-secret
-
Create the
powermax-creds
Secret.kubectl create secret generic powermax-creds --namespace powermax --from-file=config=secret.yaml
-
Download the default values.yaml file.
cd dell-csi-helm-installer wget -O my-powermax-settings.yaml https://github.com/dell/helm-charts/raw/csi-powermax-2.14.0/charts/csi-powermax/values.yaml
-
Edit the newly created file and provide values for the following parameters.
vi my-powermax-settings.yaml
-
Confirm the value of
global.useSecret
is set totrue
. -
Using the TLS certificate and key created in the CSI PowerMax Reverse Proxy prerequisite step, provide the base64 encoded certificate and key contents to
csireverseproxy.certManager.certificateFile
andcsireverseproxy.certManager.privateKeyFile
.csireverseproxy: tlsSecret: csirevproxy-tls-secret deployAsSidecar: false port: 2222 useSecret: true certManager: selfSignedCert: false certificateFile: | dGhpcyBzdHJpbmcgc2VydmVzIGFzIGFuIGV4YW1wbGUgb2Ygd2hhdCBhIGJhc2U2NCBlbmNvZGVk IGNlcnRpZmljYXRlIGZpbGUgbWlnaHQgbG9vayBsaWtlIGluIG15LXBvd2VybWF4LXNldHRpbmdz LnlhbWwgZmlsZQo= privateKeyFile: | dGhpcyBzdHJpbmcgc2VydmVzIGFzIGFuIGV4YW1wbGUgb2Ygd2hhdCBhIGJhc2U2NCBlbmNvZGVk IHByaXZhdGUga2V5IG1pZ2h0IGxvb2sgbGlrZSBpbiBteS1wb3dlcm1heC1zZXR0aW5ncy55YW1s IGZpbGUK
-
Install the driver using
csi-install.sh
bash script in thedell-csi-helm-installer
directory by running./csi-install.sh --namespace powermax --values ./my-powermax-settings.yaml --helm-charts-version <version>
Alternatively, you can also install the driver using the standalone helm chart.
helm install powermax ./csi-powermax --namespace powermax --values my-powermax-settings.yaml
Notes:
- The parameter
--helm-charts-version
is optional and if you do not specify the flag, by default thecsi-install.sh
script will clone the version of the helm chart that is specified in the driver’s csi-install.sh file. If you wish to install the driver using a different version of the helm chart, you need to include this flag. Also, remember to delete thehelm-charts
repository present in thecsi-powermax
directory if it was cloned before.- For detailed instructions on how to run the install scripts, see the README document in the dell-csi-helm-installer folder.
- There are a set of samples provided here to help you configure the driver with reverse proxy
- This script also runs the verify.sh script in the same directory. You will be prompted to enter the credentials for each of the Kubernetes nodes. The
verify.sh
script needs the credentials to check if the iSCSI initiators have been configured on all nodes. You can also skip the verification step by specifying the--skip-verify-node
option- In order to enable CSM Authorization, there should be an authorization proxy server already installed.
- PowerMax Array username must have role as
StorageAdmin
to be able to perform CRUD operations.- If the user is using complex K8s version like “v1.24.3-mirantis-1”, use this kubeVersion check in helm Chart file.
kubeVersion: “>= 1.24.0-0 < 1.29.0-0”
.- User should provide all boolean values with double-quotes. This applies only for
my-powermax-settings.yaml
. Example: “true”/“false”.- The
controllerCount
parameter value should be <= number of nodes in the kubernetes cluster, otherwise the install script will fail.- Endpoints should not have any special characters at the end (e.g. trailing forward slash) apart from port number.
Storage Classes
A wide set of annotated storage class manifests has been provided in the samples/storageclass
folder. Please use these samples to create new storage classes to provision storage.
Volume Snapshot Class
Starting with CSI PowerMax v1.7.0, dell-csi-helm-installer
will not create any Volume Snapshot Class during the driver installation. There is a sample Volume Snapshot Class manifest present in the samples/volumesnapshotclass folder. Please use this sample to create a new Volume Snapshot Class to create Volume Snapshots.