Install Portworx CSI
After preparing your environment, generate and deploy the Kubernetes manifest from Portworx Central to install Portworx CSI.
Prerequisites
- Ensure that system requirements are met.
- Ensure your Kubernetes cluster is configured according to the backend storage you plan to use. Refer to the following pages for detailed instructions:
Generate Kubernetes manifest
To generate Kubernetes manifests for Portworx CSI installation, follow these steps:
-
Navigate to Portworx Central and log in or create an account.
-
In the Welcome to Portworx! section, select Get Started.
-
On the Product Line page, in the PX-CSI section, select Continue.
-
On the Generate PX-CSI Spec page, review the options and select the appropriate values based on your requirements.
important- By default, iSCSI is set as your protocol for data transfer. To change this, use the Storage Area Network dropdown.
- For Kubernetes cluster, select the Distribution Name option as None.
-
(Optional) If you are using the secure multi-tenancy feature in FlashArray, follow these steps in the Advanced Settings:
- Select Custom from the KVDB Device dropdown.
- Check the Enable multitenancy option.
- Enter the FlashArray pod name in the Pure FA Pod Name field.
important
If you are using multiple FlashArrays with the secure multi-tenancy feature, ensure that the pod names are the same across the realms.
-
(Optional) If you are using multiple NICs for the iSCSI host, add the environment variable
PURE_ISCSI_ALLOWED_IFACES
with comma-separated names of NICs in Advanced Settings. Example:"eth1,eth2"
.noteIf your virtual machine has multiple NICs, FlashArray cannot differentiate between those with iSCSI and those without. You must specify the list of NICs; otherwise, Portworx might only utilize one of the available interfaces.
-
Click Save and Download to generate the specification.
(Optional) Enable CSI topology feature
If you want to use CSI topology feature, follow the steps below to enable CSI topology:
-
Ensure that you have prepared your environment for using CSI topology.
-
Set
spec.csi.topology.enabled
parameter totrue
in the StorageCluster specification.csi:
enabled: true
topology:
enabled: true
Apply Kubernetes manifest
Apply the Operator and StorageCluster specification you generated in the section above:
- If you have modified the specification, use the filename in the
kubectl apply
command instead of the specification URL generated from Portworx Central. - For the Google Anthos platform, download the ZIP file containing the Operator and StorageCluster specs generated in the Generate Kubernetes manifest section. Unzip the file and use the filenames in the
kubectl apply
command.
- Kubernetes
- OpenShift
-
Deploy the Operator:
kubectl apply -f '<url-generated-from-portworx-central-spec-gen>'
serviceaccount/portworx-operator created
podsecuritypolicy.policy/px-operator created
clusterrole.rbac.authorization.k8s.io/portworx-operator created
clusterrolebinding.rbac.authorization.k8s.io/portworx-operator created
deployment.apps/portworx-operator created -
Deploy the StorageCluster:
kubectl apply -f '<url-generated-from-portworx-central-spec-gen>'
storagecluster.core.libopenstorage.org/px-cluster-xxxxxxxx-xxxx-xxxx-xxxx-5db83030471e created
-
From the OpenShift UI, go to OperatorHub, search for Portworx, and click Install to deploy the Portworx Operator in a desired namespace.
noteEnsure that you are deploying Operator version 24.2.1 or later.
-
Deploy the StorageCluster:
oc apply -f '<url-generated-from-portworx-central-spec-gen>'
storagecluster.core.libopenstorage.org/px-cluster-xxxxxxxx-xxxx-xxxx-xxxx-5db83030471e created
After deployment, Portworx CSI detects the presence of the FlashArray and FlashBlade secrets during startup and uses the specified FlashArray and FlashBlade for backend storage.
Verify Portworx installation
After installing Portworx CSI, verify the status of the Portworx cluster and pods to ensure everything is running correctly.
- Kubernetes
- OpenShift
- Verify that all Portworx pods are running.
kubectl get pods -n <portworx> -o wide | grep -e portworx -e px
- Check the status of the Portworx cluster.
pxctl status
- Verify the status of the Portworx cluster provision.
kubectl get stc -n <portworx>
- Verify that all Portworx pods are running.
oc get pods -n <portworx> -o wide | grep -e portworx -e px
- Check the status of the Portworx cluster.
pxctl status
- Verify the status of the Portworx cluster provision.
oc get stc -n <portworx>
Portworx CSI license
By default, the Portworx CSI for FA/FB license
is applied when you install Portworx CSI. You can verify the status and capabilities of the license using the pxctl license list
command.
pxctl license list
DESCRIPTION ENABLEMENT ADDITIONAL INFO
Number of nodes maximum 1000
Number of attached volumes per node maximum 128
Bare-metal hosts yes
Virtual machine hosts yes
Number of Pure volumes per cluster maximum 100000
Product SKU Portworx CSI for FA/FB lease renewal in 23h, 46m