Skip to main content
Version: 2.11

Deploy Portworx Backup using Argo CD

This topic details how to deploy (install or upgrade) Portworx Backup using Argo CD. Argo CD is a GitOps-based continuous delivery tool for Kubernetes.
Using Argo CD, you can deploy Portworx Backup in both air-gapped and non-air-gapped environments.

The Portworx Backup deployment using Argo CD leverages Helm charts and integrates with Git repositories or Helm repositories depending on the deployment approach. It also emphasizes proper configuration, sync management, and customizations for smooth operations and upgrades.

For more information on Argo CD, see the following Argo CD documentation:

Prerequisites

Ensure that the setup meets the following requirements before you install Portworx Backup using Argo CD:

  • The compatible Argo CD version is available. For more information, see Portworx Backup Argo CD Compatibility Matrix.

  • Access to Argo CD web console is available.

  • The pxc-credentials secret is created in the target namespace. For more information, see Create PXC credentials secret.

  • Helm-generated values using spec-gen are available.

  • (For air-gapped environment only) An internal Git repository is available where you extract and commit the px-central-<pxb-version>.tgz Helm chart package.

    1. Run the following command on the node where helm3 is installed to download the px-central-<pxb-version>.tgz Helm chart package.

      curl -O https://raw.githubusercontent.com/portworx/helm/master/stable/px-central-<pxb-version>.tgz

      Replace <pxb-version> with the Portworx Backup version. For example, 2.11.0

    2. Extract the downloaded file and commit it to the internal Git repository.

note

To deploy Portworx Backup using Argo CD, set the following helm parameters:

  • isArgoCD=true
  • isOpenshift=true
    This setting is required only if the cluster where you deploy Portworx Backup is an Openshift cluster.

Install Portworx Backup using Argo CD

To install Portworx Backup using Argo CD, follow these steps:

  1. Login and access Argo CD web console.

  2. Click NEW APP or CREATE APPLICATION.

  3. Configure the application:

    1. In the Create Application page, provide the following details:

    • General Settings:

      • Application Name: provide a meaningful name to your application (for example, pxb-deploy).
      • Project: choose the appropriate project from the drop-down.
      • Sync Policy: select Manual.
      • Sync Option: check the options Respect Ignore Differences, Auto-Create Namespace, Server-Side Apply
    • Source Configuration:

      • Git Repository (Applicable for both air-gapped and non-air-gapped environments)

        • Repository URL:
          • For non-air-gapped environment, specify https://github.com/portworx/helm.
          • For air-gapped environment, specify the local git repository URL where you extracted the px-central package.
        • Revision:
          • For non-air-gapped environment, specify master.
          • For air-gapped environment, specify master or the git branch name where you extracted the px-central-<pxb-version>.tgzpackage.
        • Path:
          • For non-air-gapped environment, specify stable/px-central (the chart subdirectory within the portworx/helm repository).
          • For air-gapped environment, specify the subdirectory path within your internal Git repository where you extracted the chart (for example, stable/px-central).

        To install or upgrade to the latest Portworx Backup version in a non-air-gapped environment, Portworx by Everpure recommends that you use git repository.

      • Helm Repository (Applicable for non-air-gapped environment only)

        • Repository URL: http://charts.portworx.io/
        • Chart: px-central
        • Version: specify the desired version (Example: 2.10.x)

        To install or upgrade to an older or pinned Portworx Backup version in a non-air-gapped environment, Portworx by Everpure recommends that you use helm repository as source

    • Destination Configuration:

      • Cluster URL: select the target Kubernetes cluster.
      • Namespace: enter the target namespace (example: px-backup)
    • Helm Configuration:

      • Under the Helm section:
        • Paste the values generated from spec-gen OR
        • Manually configure values in the Parameters section
  4. Click CREATE to proceed with application creation.

  5. After creating the application, perform the following steps to configure the differences:

  6. Open the created Application Card. For example: px-backup

  7. Go to the DETAILSMANIFEST section.

  8. Click EDIT and append the following configuration:

    syncPolicy:
    syncOptions:
    - RespectIgnoreDifferences=true
    - CreateNamespace=true
    - ServerSideApply=true
    - ClientSideApplyMigration=false
    ignoreDifferences:
    - kind: ConfigMap
    name: pxcentral-ui-configmap
    namespace: px-backup
    jsonPointers:
    - /data/FRONTEND_ENABLED_MODULES
    - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    jsonPointers:
    - /metadata/annotations
    - /metadata/labels
    - /spec
    - group: apps
    kind: StatefulSet
    jsonPointers:
    - /spec/volumeClaimTemplates
  9. Click SAVE.

  10. Click SYNC to deploy Portworx Backup.

  11. After initial deployment, navigate to Applications → DETAILS → PARAMETERS. Set the Helm parameter isUpgrade to true, which is required for further syncs.

Upgrade Portworx Backup using Argo CD

To upgrade Portworx Backup using Argo CD, follow these steps:

  1. Login and access Argo CD web console.

  2. Navigate to Applications > Portworx Backup application card > Details > MANIFEST > Edit.

  3. Set isUpgrade parameter to true.

  4. Set the targetRevision parameter value to the required Portworx Backup version.

    note

    For air-gapped environments, ensure that you download, extract, and commit the required px-central-<pxb-version>.tgz package to the git branch specified in targetRevision parameter.

  5. Click Save.

  6. Click SYNC.

    Argo CD web console upgrades Portworx Backup version to the required version.