Install Portworx Backup using Helm
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:
- Your cluster meets the Requirements for Portworx Backup Installation.
- You have set up the installation environment.
- You have generated the Portworx Backup spec and created the
pxc-credentialssecret. For more information, see Generate Portworx Backup Spec.
Option 1: Install using the 'set' command
To install Portworx Backup with default or basic options:
-
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 updatenotehelm repo addreacheshttps://charts.portworx.io/over the public internet, so it cannot run inside a true air-gapped cluster. Run this command (and thecurldownload 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.tgzchart directly, as described in the following steps. -
Optional: If you are deploying Portworx Backup in a cluster with Istio or Linkerd as service mesh, append
istio.enabled=true(do not appendistio.enabled=trueif you have installed Istio in ambient mode) orlinkerd.enabled=trueat the end of the command provided under Install using thesetcommand.noteThe
hostNameparameter 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 theistio.hostNamein the set parameter. For more information, see the Configure a dedicated hostname for Portworx Backup UI with Istio section.Do not use the
--no-hooksflag 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=trueNote that all the parameters you have provided in the Spec Details tab get appended after
--setin the command. For example, if you enabled telemetry,--set telemetry.enabled=trueis 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 -
After you are done with providing and appending all the required parameters for installation, verify the command for accuracy.
-
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:
-
In the Portworx Central Spec Generator's Finish tab (the same wizard you used in Generate Portworx Backup Spec), click the
values-px-central.yamlfile 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 namedvalues-px-central.yamlwith all your configuration overrides. -
Rename this as
values-px-central-<pxb-release-version>.yaml. Where<pxb-release-version>is the Portworx Backup version you want to install. -
Set the values for the below keys as
truebased on the service mesh you have deployed in the Portworx Backup cluster. Note that by default,istio.enabledandlinkerd.enabledare set tofalse. Setistio.enabledtotrueonly if you’re using the Istio sidecar.noteThe
hostNameparameter 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 theistio.hostNameHelm parameter. For more information, see the Configure a dedicated hostname for Portworx Backup UI with Istio section.Do not use the
--no-hooksflag with the Helm install command; it can put the cluster into a bad state.If you use Istio (sidecar mode):
istio:enabled: truehostName: ""If you use Linkerd:
linkerd:enabled: trueIf you use Telemetry:
telemetry:enabled: true # Optional: set to true to upload PXB usage data to Pure1 -
Save the yaml file for the changes made and validate the values.
-
(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 -
(For air-gapped environment only) From the instance where you run the
helm3command:-
Download the latest
px-centralpackage with the following command:curl -O https://raw.githubusercontent.com/portworx/helm/master/stable/px-central-<pxb-release-version>.tgz -
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.yamlReplace
portworx/px-centralwith the path to the downloaded.tgzpackage. 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
-
-
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.
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.
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:
| Port | Purpose |
|---|---|
| 10001 | Portworx Backup |
| 10002 | Portworx Backup |
| 10005 | Portworx Central API Server |
| 10006 | Portworx 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.