You can install the Container Backup Support operator and instance in an air-gapped
environment by using an IBM® Container Application Software for
Enterprises (CASE) bundle. For your convenience, scripts are provided in the CASE bundle to help you
install the product.
Before you begin
Complete the following tasks:
- Download cloudctl, which is a command-line tool that
is used to manage CASE bundles. Issue the following commands to download the
tar.gz archive, expand it, rename the cloudctl binary file,
and put the file in a location that is in your
PATH:
curl -L https://github.com/IBM/cloud-pak-cli/releases/latest/download/cloudctl-linux-amd64.tar.gz -o ./cloudctl-linux-amd64.tar.gz
tar -xvf ./cloudctl-linux-amd64.tar.gz
mv ./cloudctl-linux-amd64 local_path
where
local_path is a directory that is in your PATH, such as
/usr/local/bin/cloudctl.For information about how to verify the signature of
the tar.gz archive, see https://github.com/IBM/cloud-pak-cli.
- Complete the installation prerequisites. For instructions, see Installation prerequisites for Container Backup Support.
- Obtain an entitlement key for accessing your container software. For instructions,
see Obtaining access to the IBM Entitled Registry.
- If necessary, uninstall the previous version of Container Backup Support. For instructions, see Uninstalling Container Backup Support.
About this task
The installation instructions are intended for installing the Container Backup Support operator and instance in an air-gapped
environment, which is a private network that does not have access to the internet. You must be
connected to the internet (by using a bastion host or similar system) to download required tools and
mirror images from the IBM Entitled Registry and Red Hat Registry to a local registry in your private network.
You can use any private Docker repository as the target repository for mirrored images.
During the installation, the following operators are installed:
- ibm-sppc-operator
- The operator for Container Backup Support.
- OADP Operator
- The Red Hat OpenShift API for Data Protection (OADP)
operator for installing and configuring the Velero tool to protect Red Hat
OpenShift cluster-scoped resources and namespace-scoped
resources. The OADP operator is installed automatically when you install the
ibm-sppc-operator operator.
- Strimzi
- The operator for deploying Kafka containers that are used for Container Backup Support messaging. The Strimzi operator is installed
automatically when you install the ibm-sppc-operator operator. When the
ibm-sppc-operator operator is updated, Strimzi is
updated automatically.
If you plan to protect cluster-scoped and namespace-scoped resources,
ensure that you set the minio_username and minio_password
parameters in the baas-values-cr.yaml file.
Procedure
To install Container Backup Support by using a CASE bundle in an air-gapped
environment, complete the following steps.
- Create a directory for downloading the CASE package. The
following example shows the commands for creating the ~/baas-case-package
directory:
mkdir ~/baas-case-package
cd ~/baas-case-package
Tip: This directory name is used as the value for the CASE_PKG_DIR parameter in the
cloudctl-options.sh file in Step
7.
- Save the CASE package by issuing the following command:
cloudctl case save --case https://github.com/IBM/cloud-pak/raw/master/repo/case/ibm-spectrum-protect-plus/1.3.0/ibm-spectrum-protect-plus-1.3.0.tgz -o . -t 1
The following files are downloaded to the
~/baas-case-package
directory:
ibm-spectrum-protect-plus-1.3.0-images.csv
ibm-spectrum-protect-plus-1.3.0.tgz
- Expand the CASE package by issuing the following commands:
tar -xvf ./ibm-spectrum-protect-plus-1.3.0.tgz
The contents are unpacked in the following directory
structure:
.
└── ibm-spectrum-protect-plus
├── inventory
│ ├── ibmSpectrumProtectPlusProd
│ │ ├── cloudctl-scripts
│ │ └── files
│ │ ├── op-cli
│ │ ├── op-olm
│ │ └── scripts
│ ├── ibmSpectrumProtectPlusProdSetup
│ └── launcher
│ └── files
└── licenses
- Change to the directory that contains the scripts for installing
Container Backup Support by using a CASE bundle by issuing
the following command:
cd ~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/cloudctl-scripts
The available scripts and their descriptions are shown in the following table:
Table 1. Scripts for installing Container Backup Support by using a CASE bundle
Name of script |
Description |
check-for-existing-baas-components.sh |
Identifies baas components that are left over after uninstallation, and
shows the delete statements that are needed to remove the leftover components. |
cloudctl-install-airgap-k8s.sh |
Runs an air-gapped installation on Kubernetes. |
cloudctl-install-airgap-ocp.sh |
Runs an air-gapped installation on Red Hat
OpenShift. |
cloudctl-install-online-k8s.sh |
Runs a non-OLM online installation for Kubernetes. |
cloudctl-options.sh |
Contains options that must be defined before you can run the scripts. |
cloudctl-uninstall-airgap-ocp.sh |
Uninstalls an air-gapped installation on Red Hat
OpenShift. |
cloudctl-uninstall-k8s.sh |
Uninstalls an air-gapped or online installation on Kubernetes. |
cloudctl-utils.sh |
Runs private functions that are used by other scripts. |
copy-baas-config-files.sh |
Convenience script to copy your saved baas-options.sh and
baas-values-cr.yaml to the correct location. |
copy-cloudctl-options.sh |
Convenience script to copy your saved cloudctl-options.sh to the correct
location. |
Samples of the baas-options.sh and baas-values-cr.yaml
files are also provided in the
~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/files/scripts
directory.
- Create the directory structure in which to save your versions of
the configuration files.
mkdir ~/saved
mkdir ~/saved/10.1.9-cloudctl
- Copy the baas-options.sh,
baas-values-cr.yaml, and cloudctl-options.sh files to the
~/saved/10.1.9-cloudctl directory:
cp ~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/cloudctl-scripts/cloudctl-options.sh ~/saved/10.1.9-cloudctl
cp ~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/files/scripts/baas-options.sh ~/saved/10.1.9-cloudctl
cp ~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/files/scripts/baas-values-cr.yaml ~/saved/10.1.9-cloudctl
- From the ~/saved/10.1.9-cloudctl directory, update the
values in the baas-options.sh, baas-values-cr.yaml, and
cloudctl-options.sh files. For instructions, see Setting up installation variables for Container Backup Support.
In the
cloudctl-options.sh, the CASE_PKG_DIR parameter must point to the
full
case-package path. For example, the
~/baas-case-package directory was created in Step
1. To obtain the full
path for this directory, issue the following command:
echo ~/baas-case-package
The output is the value that must be used for the
CASE_PKG_DIR parameter.
- Change to the directory that contains the scripts for installing Container Backup Support by using a CASE bundle:
cd ~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/cloudctl-scripts
- To check for components that are left over from a previous Container Backup Support installation, run the following script:
./check-for-existing-baas-components.sh
A list of suggested delete commands is shown. Run the necessary commands to
remove the leftover baas components.
- Run the script to copy the cloudctl-options.sh
file from the saved directory to the current location and source the
cloudctl-options.sh file. The script is set up to copy the file from the
~/saved/10.1.9-cloudctl directory. Before you use the script, update the path
to your saved file in the script. Then, run the following command:
./copy-cloudctl-options.sh
- Run the script to copy the baas-options.sh
and baas-values-cr.yaml files to the correct location and source both files.
The script is set up to copy the configuration files from the
~/saved/10.1.9-cloudctl directory to the
baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/files/scripts.
Before you use the script, update the path to your saved files in the script. Then, run the
following command:
./copy-baas-config-files.sh
- To install the Container Backup Support operator
and instance, run following script:
./cloudctl-install-airgap-ocp.sh
The following tasks are completed automatically by the script:
- Validate the target registry address.
- Create the baas namespace.
- Configure the credentials for the IBM
Entitled Registry.
- Configure the credentials for the Red Hat Registry.
- Configure the credentials for the target registry.
- Mirror the images to the target registry.
- Configure the Red Hat
OpenShift cluster for an air-gapped installation.
- Install the Container Backup Support
catalog source.
- Install the Container Backup Support
operator.
- Install an instance of Container Backup Support.
- Verify that the Container Backup Support
pods are running by repeating the following command as needed:
kubectl get pods -n baas
Results
The list of pods in the output is similar to the following
example:
NAME READY STATUS RESTARTS AGE
baas-controller-864896f5d7-4swfn 1/1 Running 0 96m
baas-entity-operator-56fcc7d487-grhd2 3/3 Running 0 92m
baas-kafka-0 1/1 Running 0 93m
baas-minio-0 1/1 Running 0 95m
baas-scheduler-6689768455-tlph4 1/1 Running 0 95m
baas-spp-agent-756f4cfcfb-h24kd 1/1 Running 0 94m
baas-transaction-manager-86f4fb9447-9lbfp 3/3 Running 0 94m
baas-transaction-manager-86f4fb9447-r9m25 3/3 Running 0 94m
baas-transaction-manager-86f4fb9447-zcfmb 3/3 Running 0 94m
baas-zookeeper-0 1/1 Running 0 94m
baas-zookeeper-1 1/1 Running 0 94m
baas-zookeeper-2 1/1 Running 0 94m
ibmsppc-operator-controller-manager-7cfc58ff9c-r9rlf 2/2 Running 0 97m
oadp-operator-5d86d4c8c-kb7fn 1/1 Running 0 97m
strimzi-cluster-operator-v0.26.0-bd668f7cb-ghtcq 1/1 Running 0 97m
velero-ccf6b9d57-wwwdd 1/1 Running 0 93m
What to do next
Complete post-installation tasks. For instructions, see Post-installation tasks for Container Backup Support.