Moving images for the backup and restore utilities to the private container registry

If your cluster is in a restricted network, and you use either OpenShift® APIs for Data Protection or IBM® Storage Fusion Data Protection to back up your Cloud Pak for Data deployments, you must make the required images available inside the cluster network. You can mirror the images to the private container registry and pull the images to workstations that can connect to the cluster.

Who needs to complete this task?
A user who has permissions to push images to the private container registry must complete this task.
When do you need to complete this task?
Complete this task if your cluster pulls images from a private container registry.

Skip this task if your cluster pulls images directly from the IBM Entitled Registry.

Before you begin

Complete the following tasks before you move the images to the private container registry:

  1. Setting up a client workstation
  2. Setting up installation environment variables

About this task

The backup and restore utilities use several images. However, the images that you need depend on the type of storage that you are using and what method you are using to perform the backup and restore.

ubi-minimal image

This image is required for all backup and restore scenarios.

x86-64 clusters
registry.redhat.io/ubi8/ubi-minimal:latest
ppc64le clusters
registry.redhat.io/ubi8/ubi-minimal:latest
cpdbr-velero-plugin image

This image is required for all backup and restore scenarios.

x86-64 clusters
icr.io/cpopen/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-x86_64
ppc64le clusters
icr.io/cpopen/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-ppc64le
cpdbr-oadp image

This image is required only if you are using IBM Storage Fusion Data Protection to back up Cloud Pak for Data deployments.

x86-64 clusters
icr.io/cpopen/cpd/cpdbr-oadp:4.5.0-1-x86_64
ppc64le clusters
icr.io/cpopen/cpd/cpdbr-oadp:4.5.0-1-ppc64le
cpdbr-api image

This image is required only if you are using OpenShift APIs for Data Protection to back up Cloud Pak for Data deployments using REST API calls.

x86-64 clusters
icr.io/cpopen/cpd/cpdbr-api:4.5.0-1-x86_64
ppc64le clusters
icr.io/cpopen/cpd/cpdbr-api:4.5.0-1-ppc64le

Procedure

The steps that you must complete depend on whether the workstation can connect to both the internet and the private container registry at the same time:


The workstation can connect to the internet and to the private container registry
  1. Ensure that Docker or Podman is running on the workstation.
  2. Ensure that the olm-utils image is available on the client workstation:
    cpd-cli manage restart-container
  3. Log in to the private container registry.

    The following command assumes that you are using private container registry that is secured with credentials:

    cpd-cli manage login-private-registry \
    ${PRIVATE_REGISTRY_LOCATION} \
    ${PRIVATE_REGISTRY_PUSH_USER} \
    ${PRIVATE_REGISTRY_PUSH_PASSWORD}

    If your private registry is not secured, see cpd-cli manage login-private-registry for additional options.

  4. Run the following command to copy the ubi-minimal image from the IBM Entitled Registry to the private container registry.

    The same image is used for all cluster hardware architectures:

    cpd-cli manage copy-image \
    --from=registry.redhat.io/ubi8/ubi-minimal:latest \
    --to=${PRIVATE_REGISTRY_LOCATION}/ubi8/registry.redhat.io/ubi8/ubi-minimal:latest
  5. Run the following command to copy the cpdbr-velero-plugin image from the IBM Entitled Registry to the private container registry:
    x86-64 clusters
    cpd-cli manage copy-image \
    --from=icr.io/cpopen/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-x86_64 \
    --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-x86_64
    ppc64le clusters
    cpd-cli manage copy-image \
    --from=icr.io/cpopen/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-ppc64le \
    --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-ppc64le
  6. Run the following command to copy the cpdbr-oadp image from the IBM Entitled Registry to the private container registry.
    Remember: This image is required only if you are using IBM Storage Fusion Data Protection to back up Cloud Pak for Data deployments.
    x86-64 clusters
    cpd-cli manage copy-image \
    --from=icr.io/cpopen/cpd/cpdbr-oadp:4.5.0-1-x86_64 \
    --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-oadp:4.5.0-1-x86_64
    ppc64le clusters
    cpd-cli manage copy-image \
    --from=icr.io/cpopen/cpd/cpdbr-oadp:4.5.0-1-ppc64le \
    --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-oadp:4.5.0-1-ppc64le
  7. Run the following command to copy the cpdbr-api image from the IBM Entitled Registry to the private container registry.
    Remember: This image is required only if you are using OpenShift APIs for Data Protection to back up Cloud Pak for Data deployments using REST API calls.
    x86-64 clusters
    cpd-cli manage copy-image \
    --from=icr.io/cpopen/cpd/cpdbr-api:4.5.0-1-x86_64 \
    --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-api:4.5.0-1-x86_64
    ppc64le clusters
    cpd-cli manage copy-image \
    --from=icr.io/cpopen/cpd/cpdbr-api:4.5.0-1-ppc64le \
    --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-api:4.5.0-1-ppc64le


The workstation cannot connect to the private container registry at the same time
  1. From a workstation that can connect to the internet:
    1. Ensure that Docker or Podman is running on the workstation.
    2. Ensure that the olm-utils image is available on the client workstation:
      cpd-cli manage restart-container
    3. Run the following command to save the ubi-minimal image to the client workstation:

      The same image is used for all cluster hardware architectures:

      cpd-cli manage save-image \
      --from=registry.redhat.io/ubi8/ubi-minimal:latest
    4. Run the following command to save the cpdbr-velero-plugin image to the client workstation:
      x86-64 clusters
      cpd-cli manage save-image \
      --from=icr.io/cpopen/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-x86_64

      This command saves the image as a compressed TAR file named icr.io_cpd_cpdbr-velero-plugin_4.0.0_beta1_46_x86_64.tar.gz in the cpd-cli-workspace/olm-utils-workspace/work/offline directory.

      ppc64le clusters
      cpd-cli manage save-image \
      --from=icr.io/cpopen/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-ppc64le

      This command saves the image as a compressed TAR file named icr.io_cpd_cpdbr-velero-plugin_4.0.0_beta1_1_ppc64le.tar.gz in the cpd-cli-workspace/olm-utils-workspace/work/offline directory.

    5. Run the following command to save the cpdbr-oadp image to the client workstation.
      Remember: This image is required only if you are using IBM Storage Fusion Data Protection to back up Cloud Pak for Data deployments.
      x86-64 clusters
      cpd-cli manage save-image \
      --from=icr.io/cpopen/cpd/cpdbr-oadp:4.5.0-1-x86_64

      This command saves the image as a compressed TAR file named icr.io_cpopen_cpd_cpdbr-oadp_4.5.0-1_x86_64.tar.gz in the cpd-cli-workspace/olm-utils-workspace/work/offline directory.

      ppc64le clusters
      cpd-cli manage save-image \
      --from=icr.io/cpopen/cpd/cpdbr-oadp:4.5.0-1-ppc64le

      This command saves the image as a compressed TAR file named icr.io_cpopen_cpd_cpdbr-oadp_4.5.0-1_ppc64le.tar.gz in the cpd-cli-workspace/olm-utils-workspace/work/offline directory.

    6. Run the following command to save the cpdbr-api image to the client workstation.
      Remember: This image is required only if you are using OpenShift APIs for Data Protection to back up Cloud Pak for Data deployments using REST API calls.
      x86-64 clusters
      cpd-cli manage save-image \
      --from=icr.io/cpopen/cpd/cpdbr-api:4.5.0-1-x86_64

      This command saves the image as a compressed TAR file named icr.io_cpopen_cpd_cpdbr-api_4.5.0-1_x86_64.tar.gz in the cpd-cli-workspace/olm-utils-workspace/work/offline directory.

      ppc64le clusters
      cpd-cli manage save-image \
      --from=icr.io/cpopen/cpd/cpdbr-api:4.5.0-1-ppc64le

      This command saves the image as a compressed TAR file named icr.io_cpopen_cpd_cpdbr-api_4.5.0-1_ppc64le.tar.gz in the cpd-cli-workspace/olm-utils-workspace/work/offline directory.

  2. Transfer the compressed files to a client workstation that can connect to the cluster.
    Ensure that you place the TAR files in the cpd-cli-workspace/olm-utils-workspace/work/offline directory:
    x86-64 clusters
    • ubi8_registry.redhat.io_ubi8_ubi-minimal_latest.tar.gz
    • icr.io_cpd_cpdbr-velero-plugin_4.0.0_beta1_46_x86_64.tar.gz
    • (If needed) icr.io_cpopen_cpd_cpdbr-oadp_4.5.0-1_x86_64.tar.gz
    • (If needed) icr.io_cpopen_cpd_cpdbr-api_4.5.0-1_x86_64.tar.gz
    ppc64le clusters
    • ubi8_registry.redhat.io_ubi8_ubi-minimal_latest.tar.gz
    • icr.io_cpd_cpdbr-velero-plugin_4.0.0_beta1_1_ppc64le.tar.gz
    • (If needed) icr.io_cpopen_cpd_cpdbr-oadp_4.5.0-1_ppc64le.tar.gz
    • (If needed) icr.io_cpopen_cpd_cpdbr-api_4.5.0-1_ppc64le.tar.gz
  3. From the workstation that can connect to the cluster:
    1. Ensure that Docker or Podman is running on the workstation.
    2. Log in to the private container registry.

      The following command assumes that you are using private container registry that is secured with credentials:

      cpd-cli manage login-private-registry \
      ${PRIVATE_REGISTRY_LOCATION} \
      ${PRIVATE_REGISTRY_PUSH_USER} \
      ${PRIVATE_REGISTRY_PUSH_PASSWORD}

      If your private registry is not secured, see cpd-cli manage login-private-registry for additional options.

    3. Run the following command to copy the ubi-minimal image to the private container registry:
      cpd-cli manage copy-image \
      --from=registry.redhat.io/ubi8/ubi-minimal:latest \
      --to=${PRIVATE_REGISTRY_LOCATION}/ubi8/registry.redhat.io/ubi8/ubi-minimal:latest
    4. Run the following command to copy the cpdbr-velero-plugin image to the private container registry:
      x86-64 clusters
      cpd-cli manage copy-image \
      --from=icr.io/cpopen/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-x86_64 \
      --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-x86_64
      ppc64le clusters
      cpd-cli manage copy-image \
      --from=icr.io/cpopen/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-ppc64le \
      --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-velero-plugin:4.0.0-beta1-1-ppc64le
    5. If you transferred the cpdbr-oadp image inside the cluster network, run the following command to copy the cpdbr-oadp image to the private container registry:
      x86-64 clusters
      cpd-cli manage copy-image \
      --from=icr.io/cpopen/cpd/cpdbr-oadp:4.5.0-1-x86_64 \
      --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-oadp:4.5.0-1-x86_64
      ppc64le clusters
      cpd-cli manage copy-image \
      --from=icr.io/cpopen/cpd/cpdbr-oadp:4.5.0-1-ppc64le \
      --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-oadp:4.5.0-1-ppc64le
    6. If you transferred the cpdbr-api image inside the cluster network, run the following command to copy the cpdbr-api image to the private container registry:
      x86-64 clusters
      cpd-cli manage copy-image \
      --from=icr.io/cpopen/cpd/cpdbr-api:4.5.0-1-x86_64 \
      --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-api:4.5.0-1-x86_64
      ppc64le clusters
      cpd-cli manage copy-image \
      --from=icr.io/cpopen/cpd/cpdbr-api:4.5.0-1-ppc64le \
      --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdbr-api:4.5.0-1-ppc64le