Install and configure Portworx on VMware Tanzu


NOTE:

  • Portworx does not support Tanzu Community Edition
  • The installation steps below only apply if you’re running with Kubernetes on the TKG or TKGS platforms
  • Metro DR is currently not supported when both clusters are running TKG
  • For the underlying datastore for the PVs and VMs, do not enable Storage DRS. VSphere CSI driver and Cloud Native Storage does not currently support Storage DRS feature in vSphere

Prerequisites

  • A running Kubernetes cluster TKG or TKGS.
  • If you’re using TKGS, ensure all prerequisites are met based on VMware documentation.
  • Enable Workload Management according to VMware Best Practices.
  • Ensure the required ports in the 9001:9020 range are open on all nodes.

NOTE: If you’re using encrypted volumes on Tanzu clusters with PhotonOS, Portworx recommends that you install the following packages all nodes:

  • device-mapper
  • cryptsetup

You can install these packages using the following commands:

yum update -y
yum install device-mapper
yum install cryptsetup

Create the StorageClass

CSI cloud drive configuration requires a StorageClass with the CSI driver set as a provisioner to be installed in the Kubernetes cluster.

  1. Get a CSI provisioner name by running the following command on your Tanzu Kubernetes cluster. You will use this name in the next step:

    kubectl get csidriver
  2. Create a StorageClass on your specified datastore. In the provisioner field, enter the CSI driver name you got in the step above. Provide the datastore URL in the datastoreurl field from your VSpere client.

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: vsphere-immediate-sc
      annotations:
         storageclass.kubernetes.io/is-default-class: "true"
    provisioner: <csi_driver_name>
    parameters:
      datastoreurl: "<your-datastore-url>" 
    allowVolumeExpansion: true
    reclaimPolicy: Delete
    volumeBindingMode: Immediate
    NOTE: You can also specify the SPBM policies in the StorageClass with the storagepolicyname parameter.

Install Portworx

As part of the installation, you’ll use the spec generator. Perform the following steps to create your Portworx spec and configure your Cloud Drives. This installation method uses the Operator.

To install Portworx with Kubernetes, you must first generate Kubernetes manifests that you will deploy in your cluster:

  1. Navigate to PX-Central and log in, or create an account

  2. Click Continue with Portworx Enterprise option:

    Screenshot showing install and run

  3. Choose either Portworx Enterprise or Portworx Essentials , depending on which license you intend to use:

    Screenshot showing Portworx license selector

  4. Select VMware Tanzu Cloud Platform and specify disk size and storage class name you will be using for drives

    Screenshot showing Tanzu configuration

  5. On the Customize tab, add the following under the Environment Variables section:

    • In the name field, add PRE-EXEC
    • In the value field, add iptables -A INPUT -p tcp --match multiport --dports 9001:9020 -j ACCEPT


Last edited: Sunday, Oct 16, 2022