Install PX-Central on-premises in air-gapped environment


Prepare air-gapped environments

For air-gapped clusters, you must pull the PX-Central and related Docker images to either your Docker registry or directly onto your nodes:

  1. Create a kube_version environment variable, and assign your Kubernetes version to it.

    kube_version=`kubectl version --short | awk -Fv '/Server Version: / {print $3}'`
  2. Pull the following required Docker images onto your air-gapped environment.

    • docker.io/portworx/pxcentral-onprem-api:2.2.1
    • docker.io/portworx/pxcentral-onprem-ui-frontend:2.2.1
    • docker.io/portworx/pxcentral-onprem-ui-backend:2.2.1
    • docker.io/portworx/pxcentral-onprem-ui-lhbackend:2.2.1
    • docker.io/portworx/pxcentral-onprem-post-setup:2.2.1
    • docker.io/portworx/postgresql:11.16.0-debian-11-r5
    • docker.io/portworx/keycloak:16.1.1
    • docker.io/portworx/keycloak-login-theme:2.2.0
    • docker.io/portworx/busybox:1.31
    • docker.io/portworx/mysql:5.7.38

Push Docker images to internal registry

To pull the above Docker images and push them to an internal registry:

  1. Download the pxcentral-ag-install-central.sh air-gapped bootstrap PX-Central install script.

    curl -o pxcentral-ag-install-central.sh -L https://install.portworx.com/pxcentral-air-gapped?px-backup=true

    You can also download the install script for a specific release by specifying a version query. For example:

    curl -o pxcentral-ag-install-central.sh -L https://install.portworx.com/pxcentral-air-gapped?version=2.2.1&px-backup=true
  2. Pull the container images using the pxcentral-ag-install-central.sh script.

    ./pxcentral-ag-install-central.sh pull
  3. Push the images to a local registry server accessible by the air-gapped nodes. Replace <repo> with your registry location.

    ./pxcentral-ag-install-central.sh push <repo>
  4. Generate the PX-Backup installation spec (Helm command) from Portworx Central. Select the Use custom registry button and provide the values for registry, repository, and image pull secret.

    Note: Create a secret, only if image pulling from an internal repository requires credentials.
  5. From the machine where you run the helm3 command:

    • Download the latest px-central package with the following command:

      curl -O https://raw.githubusercontent.com/portworx/helm/master/stable/px-central-2.2.1.tgz
    • Modify the Helm command generated from Step 2 to provide the helm package, instead of providing the repository. For example:

      helm install px-central portworx/px-central --namespace central --create-namespace --version 2.2.1 -f values-px-central.yaml

      Following is the modified command for air-gapped environment using the downloaded helm package:

      helm install px-central px-central-2.2.1.tgz --namespace central --create-namespace --version 2.2.1 -f values-px-central.yaml

After pushing the docker images, refer to the Install PX-Central on-premises section to install PX-Central.


Last edited: Friday, Jul 22, 2022