Moving images for the cpdtool
plug-in to the private container
registry
If you need to run cpd-cli
export-import
commands against a cluster in a restricted network, you
must make the cpdtool
image available inside the cluster
network. You can mirror the image to the private container registry and pull the image to
workstations that can connect to the cluster.
- Installation phase
- Setting up a client workstation
- 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?
- You must complete this task before users try to run the
cpd-cli export-import
commands inside cluster network.
Before you begin
Complete the following tasks before you move the images to the private container registry:
About this task
This plug-in requires the cpdtool
image:
- x86-64 clusters
icr.io/cpopen/cpd/cpdtool:4.0.0-${BUILD_NUM}-x86_64
- ppc64le clusters
icr.io/cpopen/cpd/cpdtool:4.0.0-${BUILD_NUM}-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
- Ensure that Docker or Podman is running on the workstation.
- Ensure that the
olm-utils
image is available on the client workstation:cpd-cli manage restart-container
- 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. - Run the following command set the
BUILD_NUM
environment variable based on the version of thecpdbr
plug-in on the workstation:BUILD_NUM=`./cpd-cli export-import version | grep "Build Number" |cut -d : -f 2 | xargs`
- Run the following command to copy the
cpdtool
image from the IBM® Entitled Registry to the private container registry:- x86-64 clusters
-
cpd-cli manage copy-image \ --from=icr.io/cpopen/cpd/cpdtool:4.0.0-${BUILD_NUM}-x86_64 \ --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdtool:4.0.0-${BUILD_NUM}-x86_64
- ppc64le clusters
-
cpd-cli manage copy-image \ --from=icr.io/cpopen/cpd/cpdtool:4.0.0-${BUILD_NUM}-ppc64le \ --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdtool:4.0.0-${BUILD_NUM}-ppc64le
The workstation cannot connect to the private container registry at the same time
- From a workstation that can connect to the internet:
- Ensure that Docker or Podman is running on the workstation.
- Ensure that the
olm-utils
image is available on the client workstation:cpd-cli manage restart-container
- Run the following command set the
BUILD_NUM
environment variable based on the version of thecpdbr
plug-in on the workstation:BUILD_NUM=`./cpd-cli export-import version | grep "Build Number" |cut -d : -f 2 | xargs`
- Run the following command to save the
cpdtool
image to the client workstation:- x86-64 clusters
-
cpd-cli manage save-image \ --from=icr.io/cpopen/cpd/cpdtool:4.0.0-${BUILD_NUM}-x86_64
This command saves the image as a compressed TAR file named
icr.io_cpopen_cpd_cpdtool_4.0.0_${BUILD_NUM}_x86_64.tar.gz
in thecpd-cli-workspace/olm-utils-workspace/work/offline
directory. - ppc64le clusters
-
cpd-cli manage save-image \ --from=icr.io/cpopen/cpd/cpdtool:4.0.0-${BUILD_NUM}-ppc64le
This command saves the image as a compressed TAR file named
icr.io_cpopen_cpd_cpdtool_4.0.0_${BUILD_NUM}_ppc64le.tar.gz
in thecpd-cli-workspace/olm-utils-workspace/work/offline
directory.
- Transfer the compressed file to a client workstation that can connect to the cluster.Ensure that you place the TAR file in the
cpd-cli-workspace/olm-utils-workspace/work/offline
directory:- x86-64 clusters
icr.io_cpopen_cpd_cpdtool_4.0.0_${BUILD_NUM}_x86_64.tar.gz
- ppc64le clusters
icr.io_cpopen_cpd_cpdtool_4.0.0_${BUILD_NUM}_ppc64le.tar.gz
- From the workstation that can connect to the cluster:
- Ensure that Docker or Podman is running on the workstation.
- 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. - Run the following command to copy the
cpdtool
image to the private container registry:- x86-64 clusters
-
cpd-cli manage copy-image \ --from=icr.io/cpopen/cpd/cpdtool:4.0.0-${BUILD_NUM}-x86_64 \ --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdtool:4.0.0-${BUILD_NUM}-x86_64
- ppc64le clusters
-
cpd-cli manage copy-image \ --from=icr.io/cpopen/cpd/cpdtool:4.0.0-${BUILD_NUM}-ppc64le \ --to=${PRIVATE_REGISTRY_LOCATION}/cpd/cpdtool:4.0.0-${BUILD_NUM}-ppc64le
What to do next
After you push the cpdtool
image to the private
container registry, users who want to run the cpd-cli
export-import
against the cluster must set the --image-prefix=${PRIVATE_REGISTRY_LOCATION}
when they run
cpd-cli
export-import
init
.