Skip to main content
Version: 3.6

Installation of Portworx with Everpure Cloud Dedicated for Azure using Portworx Central

After preparing your environment, deploy the Portworx Operator first, followed by the Portworx StorageCluster. The Portworx Operator automates the deployment, configuration, upgrades, and integration of Portworx with your Kubernetes cluster.

To install Portworx with Everpure Cloud Dedicated, complete the following collection of tasks:

Complete all the tasks to install Portworx.

Prerequisites

Generate Portworx Specification

  1. Sign in to the Portworx Central console.
    The system displays the Welcome to Portworx Central! page.
  2. In the Portworx Enterprise section, select Generate Cluster Spec.
    The system displays the Generate Spec page.
  3. From the Portworx Version dropdown menu, select the Portworx version to install.
  4. From the Platform dropdown menu, select Pure FlashArray.
  5. From the Distribution Name dropdown menu, select a Kubernetes distribution.
  6. (Optional) To customize the configuration options and generate a custom specification with multi-tenancy, click Customize and perform the following steps:
note

To continue without customizing the default configuration, proceed to Step 7.

  • Basic tab (etcd cluster details):
    1. Select Your etcd details to use an existing etcd cluster and enter the host name or IP and port number.
      • Select one of the following authentication methods:
        • Disable HTTPS – Use HTTP for etcd communication.
        • Certificate Auth – Use HTTPS with an SSL certificate.
          For more information, see Secure your etcd communication.
        • Password Auth – Use HTTPS with username and password authentication.
    2. To use an internal Portworx-managed key-value store (KVDB), do the following:
      1. Select the Built-in option.
      2. TLS for internal KVDB is enabled, by default. If Cert-Manager is already running in your Kubernetes cluster, deselect the Deploy Cert-Manager for TLS certificates option to avoid installation failures.
    3. Select Next.
  • Storage tab (storage and multitenancy configuration):
    1. Select type of drive as Create Using a Spec to create Everpure Cloud Dedicated managed disks using the following spec.
      • Select backend store based on your infrastructure as PX-StoreV1 or PX-StoreV2.
      • From the Select type of storage area network dropdown, choose one of the following:
        • iSCSI(Default)
        • NVMe-oF RDMA
        • NVMe-oF TCP
        • Fibre Channel.
          Using the above SAN type, the volumes from Everpure Cloud Dedicated will be connected to the Portworx nodes.
      • Enter the size of the pool drive(s) in GB.
      • Select Default IO Profile for Portworx volumes.
      • Under Journal Device, select one of the following:
        • None – Use the default journaling setting.
        • Auto – Automatically allocate journal devices.
        • Custom – Manually enter a journal device path.
          Enter the path of the journal device in the Journal Device Path field.
    2. Select Next.
  • Network tab (network settings):
    1. Enter the Data Network Interface used by Portworx nodes for exchanging data. This setting does not apply to Everpure Cloud Dedicated connections.
    2. Enter the Management Network Interface to be used for management traffic.
    3. Enter the Starting port for Portworx services.
    4. Select Next.
  • Deployment tab (advanced settings):
    1. In the Kubernetes Distribution section, under Are you running on either of these?, select a Kubernetes distribution or None.
    2. In the Component Settings section:
      1. Select the Enable Stork checkbox to enable Stork.
      2. Select the Restrict Data Protection RBAC to restrict RBAC permissions for Stork (if enabled) and Operator. You will not be able to use Backup and DR capabilities with this restriction. For more information, see Restrict Data Protection RBAC.
      3. Select the Enable Monitoring checkbox to enable Prometheus-based monitoring of Portworx components and resources.
      4. To configure how Prometheus is deployed and managed in your cluster, choose one of the following:
        • Portworx Managed - To enable Portworx to install and manage Prometheus and Operator automatically.
          Ensure that no another Prometheus Operator instance already running on the cluster.
        • User Managed - To manage your own Prometheus stack.
          You must enter a valid URL of the Prometheus instance in the Prometheus URL field.
      5. Select the Enable Autopilot checkbox to enable Portworx Autopilot.
        For more information on Autopilot, see Expanding your Storage Pool with Autopilot.
      6. Select the Enable Fusion Controller checkbox to enable Portworx Fusion Controller (Early Access release) for OpenShift Distribution types. For more information on Portworx Fusion Controller, see Portworx Fusion Controller documentation.
      7. Select the Enable Telemetry checkbox to enable telemetry in the StorageCluster spec.
        For more information, see Enable Pure1 integration for upgrades on an Azure Red Hat OpenShift cluster.
    3. In the Configure Secret Details section:
      1. Enter the prefix for the Portworx cluster name in the Cluster Name Prefix field.
      2. To use a key management service (KMS) to store encryption keys, secrets, or credentials for features such as CloudSnap, volume encryption, or cloud provider integrations, select the appropriate KMS from the Default Secrets Store Type dropdown menu. For more information, see Set Up Key Management and Encrypt Portworx Volumes.
      3. Click the toggle button to Configure Secrets Store Type per Feature. Configure multiple secret providers and assign a different secret store to each feature. If you enable the toggle and do not select the secrets store for the features, Portworx Enterprise uses Default Secret Store Type for cloud provider credentials. For more information, see Configure multiple secrets providers.
        • Select the Secret Store Type for Cloud Provider Credentials feature from the dropdown menu.
        • Select the Secret Store Type for Volume Encryption feature from the dropdown menu.
        • Select the Secret Store Type for Cloud Snap feature from the dropdown menu.
    4. (Optional) In Environment Variables, if you are using multiple NICs for iSCSI host, then add the following environment variable to your StorageCluster spec. Replace <nic-interface-names> with comma-separated names of NICs such as "eth1,eth2":
      env:
      - name: PURE_ISCSI_ALLOWED_IFACES
      value: "<nic-interface-names>"
    note

    If you have multiple NICs on your virtual machine, then Everpure Cloud Dedicated does not distinguish the NICs that include iSCSI and the others without iSCSI. This list must be provided, otherwise Portworx may potentially use only one of the provided interfaces.

    1. In Registry and Image Settings:
      • Enter the Custom Container Registry Location to download the Docker images.
      • Enter the Kubernetes Docker Registry Secret that serves as the authentication to access the custom container registry.
      • From the Image Pull Policy dropdown menu, select Default, Always, IfNotPresent, or Never.
        This policy influences how images are managed on the node and when updates are applied.
    2. In Security Settings, select the Enable Authorization checkbox to enable Role-Based Access Control (RBAC) and secure access to storage resources in your cluster.
    3. Click Finish.
    4. In the summary page, enter a name for the specification in the Spec Name field, and tags in the Spec Tags field.
    5. Click Download .yaml to download the yaml file with the customized specification or Save Spec to save the specification.
  1. Click Save & Download to generate the specification.
note

You can either copy the kubectl apply command from the Central UI and apply it to your Kubernetes cluster, or download the YAML file and apply it using the file name.

(Optional) Customize Portworx system volumes for secure multi-tenancy

If you're deploying Portworx with Pure FlashArray and the Secure Multi-Tenancy (SMT) feature, you can assign either the same pod that is used for deviceSpecs or assign each system volume to a different FlashArray pod within the same realm, based on your requirements.

To place system volumes, such as journal, key-value database (KVDB), and system metadata, in specific FlashArray pods, customize the cloudStorage section in your StorageCluster specification:

cloudStorage:
deviceSpecs:
- size=2000,pod=<fa-pod-name> # volume for storage pool
journalDeviceSpec: size=3,pod=<fa-pod-name> # Journal volume
kvdbDeviceSpec: size=32,pod=<fa-pod-name> # Internal KVDB volume
systemMetadataDeviceSpec: size=32,pod=<fa-pod-name> # System metadata volume

For more information about cloudStorage fields, see Cloud storage configuration.

Apply Portworx Specification

Apply the Operator and StorageCluster specs you generated in the section above using the oc apply command:

note
  • If you have downloaded and modified the specification, use that in the kubectl apply command below, instead of the specification URL generated from Portworx Central.
  1. From the OpenShift UI, go to OperatorHub, search for Portworx Operator, and click Install to deploy the Portworx Operator in a desired namespace.

  2. 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

Once deployed, Portworx detects that the Everpure Cloud Dedicated secret is present when it starts up and can use the specified Everpure Cloud Dedicated as a storage provider.

What to do next

Create a PVC. For more information, see Create your first PVC.