Skip to main content
Version: 2.7

Upgrade Portworx Backup in internet-connected environment

Portworx Backup supports upgrades to version n from versions n-1 or n-2 versions. For example, if you are on Portworx Backup version 2.5.x, you can directly upgrade to 2.7.x. Suppose, if you are on 2.3.0 and you wish to upgrade to 2.7.x, you need to upgrade in phased manner. Firstly upgrade from version 2.3.x to 2.5.x, and then upgrade from version 2.5.x to 2.7.x.

Prerequisites

  • Make sure all the mongoDB pods are in Ready state

To upgrade from Portworx Backup version 2.5.x or 2.6.x to 2.7.x, you can just use the px-central chart.

Upgrade from 2.5.x or 2.6.x to 2.7.x

To upgrade from Portworx Backup version 2.5.x to 2.7.x:

  1. Update your Helm repository:

    helm repo update
  2. Retrieve all custom values you used during the Portworx Backup installation. Enter the following helm get values command to generate a YAML file, replacing the <namespace> and <release-name> parameters to match your environment:

    helm get values --namespace <namespace> <release-name> -o yaml > values.yaml
  3. To generate the customized values-px-central.yaml for Portworx Backup installation spec (Helm command):

    a. Access Portworx Central portal.

    b. From the home page, navigate to Backup Services under Explore our Products.

    c. Click I agree to EULA and go through the Portworx Products Terms of Use carefully.

    d. Navigate back to the Portworx Central portal and click Start Free Trial.

    e. In the Spec Details provide the following values:

    • Backup Version: select the required version of Portworx Backup from the drop-down

    • Namespace: provide the name of the namespace where you want an instance of Portworx Backup to be installed

    • Install using: choose Helm 3

    • Select your environment: choose On-Premises or Cloud based on your storage environment

    • StorageClass Name: name of the StorageClass, refer tooltip for more details

    • Use your OIDC: select this option only if your external authorization provider is Auth0 and key in the following fields:

      • Endpoint
      • Client ID
      • Client Secret

      These values can be fetched from the Auth0 web console.

    • Use existing Prometheus: select this checkbox if you have to use your existing Prometheus stack to monitor Portworx Backup and enter the values for the following fields:

      • Prometheus Endpoint: enter details of the endpoint where your Prometheus is installed

      • Alertmanager Endpoint: enter details of the endpoint where your Alertmanager is installed

      • Prometheus secret name: enter secret name of your Prometheus stack

      • Alertmanager secret name: enter secret name of your Alertmanager

      • Custom email template from PX-Backup: select to upload Portworx Backup's custom email template to your pre-configured Alertmanager for email notifications

        By default, persistent volume size for Prometheus server is 5 GB, if you need more storage, use the following command during the upgrade from previous versions of Portworx Backup to 2.7.x:

        -- set persistentStorage.prometheus.storage=8Gi, persistentStorage.prometheus.retentionSize=<92% of prometheus.storage in MB>7360MB

        The above command above resets the Prometheus server's persistent volume size to 8 GB. You can set the required storage based on your needs.

  4. Consider you installed or upgraded an earlier Portworx Backup version using the values-px-central.yaml, which you either:

    • Generated from the Portworx Central portal from step 4

      OR

    • Cloned from the Portworx Backup Helm repository

      In this case, you must specify the changes you made in the earlier version values.yaml in the new values-px-central.yaml that you use for installing or upgrading to Portworx Backup 2.7.x.

      For example: In the existing values.yaml, if the persistentStorage.storageClassName parameter is set with the value portworx-sc, then you must the set the same portworx-sc value in the new values-px-central.yaml.

  5. (Optional) Delete the Prometheus operator deployment upgrade to avoid conflicts:

    kubectl delete deploy prometheus-operator -n <px-backup namespace>
    note

    Execute this step only if you have configured Prometheus and Grafana following the steps mentioned in this topic Configure Prometheus and Grafana.

  6. Delete the post install hook job:

    kubectl delete job pxcentral-post-install-hook --namespace <namespace>
  7. Run the helm upgrade command to upgrade Portworx Backup, use the -f flag to pass the custom values.yaml file you generated above and replace <release-name> and <namespace> parameters to match your environment. Also ensure that, you update the helm command timeout parameter to 120m without fail as shown in the following command:

    helm upgrade <release-name> portworx/px-central --namespace <namespace> -f values.yaml --timeout=120m
    note

    If you are on Portworx Backup version 2.0.0 and want to upgrade to version 2.0.1 or 2.0.1 or 2.1.x or 2.2.x, then set the administrator password in the helm upgrade command as shown below:

    helm upgrade <release-name> portworx/px-central --namespace <namespace> --set oidc.centralOIDC.defaultPassword=<current-admin-password> -f values.yaml