Skip to main content
Version: 3.1

Install Portworx Backup using Helm

Applicable to Classic mode only

You can install Portworx Backup with default options or with advanced options based on your environment. To install with default options, use Install using the 'set' command. To install with advanced options, use Install using the values-px-central.yaml file. This page covers both internet-connected and air-gapped installations; steps and commands that differ for air-gapped environments are called out inline (for example, when downloading and referencing the Helm chart package locally instead of adding the Helm repository).

Prerequisites​

Before you install Portworx Backup using Helm, ensure that:

Option 1: Install using the 'set' command​

To install Portworx Backup with default or basic options:

  1. Execute the following command to add the Helm repository to your cluster and update it:

    helm repo add portworx https://charts.portworx.io/ && helm repo update
    note

    helm repo add reaches https://charts.portworx.io/ over the public internet, so it cannot run inside a true air-gapped cluster. Run this command (and the curl download used later for air-gapped installations) from a workstation or bastion host that has internet access, then transfer the downloaded Helm chart into your air-gapped environment. Alternatively, skip this step and use the downloaded .tgz chart directly, as described in the following steps.

  2. Optional: If you are deploying Portworx Backup in a cluster with Istio or Linkerd as service mesh, append istio.enabled=true (do not append istio.enabled=true if you have installed Istio in ambient mode) or linkerd.enabled=true at the end of the command provided under Install using the set command.

    note

    The hostName parameter is mandatory if multiple applications use the same prefix (/) and are using the Istio sidecar mode. To avoid routing conflicts during the PX-Backup deployment, update the host name by appending the istio.hostName in the set parameter. For more information, see the Configure a dedicated hostname for Portworx Backup UI with Istio section.

    Do not use the --no-hooks flag with the Helm install command; it can put the cluster into a bad state.

    Sample command for Istio enabled:

    helm install px-central portworx/px-central --namespace <pxb-namespace> --version <pxb-release-version> --set persistentStorage.enabled=true,persistentStorage.storageClassName="<storage-class-name>",pxbackup.enabled=true,istio.enabled=true

    Note that all the parameters you have provided in the Spec Details tab get appended after --set in the command. For example, if you enabled telemetry, --set telemetry.enabled=true is appended:

    helm install px-central portworx/px-central --namespace <pxb-namespace> --version <pxb-release-version> --set persistentStorage.enabled=true,persistentStorage.storageClassName="<storage-class-name>",pxbackup.enabled=true,telemetry.enabled=true
  3. After you are done with providing and appending all the required parameters for installation, verify the command for accuracy.

  4. Copy and run the command in the terminal to install Portworx Backup.

OR

Option 2: Install using the values-px-central.yaml file​

To install Portworx Backup with advanced options:

  1. In the Portworx Central Spec Generator's Finish tab (the same wizard you used in Generate Portworx Backup Spec), click the values-px-central.yaml file option shown under Install using the values-px-central.yaml file, to the right of Step 2 on that tab. This creates and downloads a values file named values-px-central.yaml with all your configuration overrides.

  2. Rename this as values-px-central-<pxb-release-version>.yaml. Where <pxb-release-version> is the Portworx Backup version you want to install.

  3. Set the values for the below keys as true based on the service mesh you have deployed in the Portworx Backup cluster. Note that by default, istio.enabled and linkerd.enabled are set to false. Set istio.enabled to true only if you’re using the Istio sidecar.

    note

    The hostName parameter is mandatory if multiple applications use the same prefix (/) and are using the Istio sidecar mode. To avoid routing conflicts during the PX-Backup deployment, update the host name by using the istio.hostName Helm parameter. For more information, see the Configure a dedicated hostname for Portworx Backup UI with Istio section.

    Do not use the --no-hooks flag with the Helm install command; it can put the cluster into a bad state.

    If you use Istio (sidecar mode):

    istio:
    enabled: true
    hostName: ""

    If you use Linkerd:

    linkerd:
    enabled: true

    If you use Telemetry:

    telemetry:
    enabled: true # Optional: set to true to upload PXB usage data to Pure1
  4. Save the yaml file for the changes made and validate the values.

  5. (For non-air-gapped environment only) Copy and execute the command under Install using the values-px-central.yaml file in your terminal to complete the installation:

    helm install px-central portworx/px-central --namespace <pxb-namespace> --create-namespace --version <pxb-release-version> -f values-px-central-<pxb-release-version>.yaml
  6. (For air-gapped environment only) From the instance where you run the helm3 command:

    1. Download the latest px-central package with the following command:

      curl -O https://raw.githubusercontent.com/portworx/helm/master/stable/px-central-<pxb-release-version>.tgz
    2. Modify the Helm command generated under Install using the values-px-central.yaml file in the Finish tab to use the downloaded Helm package instead of the repository. The Finish tab generates a command similar to the following, which references the remote Helm repository and cannot be used in an air-gapped environment:

      helm install px-central portworx/px-central --namespace <pxb-namespace> --create-namespace --version <pxb-release-version> -f values-px-central.yaml

      Replace portworx/px-central with the path to the downloaded .tgz package. For example:

      helm install px-central px-central-<pxb-release-version>.tgz --namespace <pxb-namespace> --create-namespace --version <pxb-release-version> -f values-px-central-<pxb-release-version>.yaml
  7. Click Finish after you complete the installation.

This activates the trial version of Portworx Backup. To activate enterprise features, apply a Portworx Backup license.

You can find more information about the Portworx Backup Helm chart in the helm section.

After you run the install command, Portworx Backup triggers a health check to evaluate whether your setup meets installation requirements. If the installation fails because requirements are not met, Portworx Backup displays relevant error messages in the CLI. For more information, see health check and health check matrix.

Externally managed Prometheus or Alertmanager

If you use an externally managed Prometheus and Alertmanager instead of the bundled monitoring stack, configure Portworx Backup to use the external endpoints in the Spec Generator. For configuration details, see Configure Observability with your own Prometheus.

On OpenShift or any cluster with a cluster-wide Prometheus operator, deploying another Prometheus operator can cause conflicts over shared monitoring CRDs and result in Prometheus or Alertmanager pods entering a CrashLoopBackOff state. Before installing Portworx Backup, exclude the Portworx Backup namespace from the cluster-wide Prometheus operator. For more information, see Prometheus requirements.

Monitor installation process​

After running the helm install command, monitor the post-install hook to ensure successful deployment:

# Check post-install hook status
kubectl get pod --namespace <pxb-namespace> -ljob-name=pxcentral-post-install-hook -o wide | awk '{print $1, $3}' | grep -iv error

# Monitor until completion
kubectl get job pxcentral-post-install-hook -n <pxb-namespace> -w

Expected output:

pxcentral-post-install-hook-xxxxx Completed

Verify pod status​

Ensure all Portworx Backup components are running:

kubectl get pods -n <pxb-namespace>

All pods should be in Running or Completed state.

note

Pod Running/Completed status alone does not confirm a successful installation. It can mask a failed hook or incomplete initialization. Treat the install as successful only when the pxcentral-post-install-hook job reports Completed (see Monitor installation process) and the health check reports no failures. If the hook did not complete, see Retrieving health check results after a failed install or upgrade.

What to do next​

Enable the following ports on the Backup cluster:

PortPurpose
10001Portworx Backup
10002Portworx Backup
10005Portworx Central API Server
10006Portworx Central API Server

Then perform the post-installation configuration tasks to get Portworx Backup ready for operations — retrieve the admin credentials and sign in to the web console, integrate authentication providers, set up role-based access control, prepare your application clusters, apply a license, and configure observability. For more information, see Configure Portworx Backup for Operations.

In this topic: