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) package. For your convenience, scripts are provided in the CASE package 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 packages. 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.
- Install the oc command-line tool for running the installation in a Kubernetes
environment.
- Meet 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.
- 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.
Procedure
To install Container Backup Support by using a CASE package 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 a ~/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
1.
- 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.4.0/ibm-spectrum-protect-plus-1.4.0.tgz -o . -t 1
The following files are downloaded to the
~/baas-case-package
directory:
ibm-spectrum-protect-plus-1.4.0-images.csv
ibm-spectrum-protect-plus-1.4.0.tgz
- Expand the CASE package by issuing the following command:
tar -xvf ./ibm-spectrum-protect-plus-1.4.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 package 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 package
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 required 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 |
Copies your saved baas-options.sh and
baas-values-cr.yaml file to the correct location. This is a convenience
script. |
copy-cloudctl-options.sh |
Copies your saved cloudctl-options.sh file to the correct location. This
is a convenience script. |
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 by running the following commands:
mkdir ~/saved
mkdir ~/saved/10.1.10-cloudctl
- Copy the baas-options.sh,
baas-values-cr.yaml, and cloudctl-options.sh files to the
~/saved/10.1.10-cloudctl directory by issuing the following commands:
cp ~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/cloudctl-scripts/cloudctl-options.sh ~/saved/10.1.10-cloudctl
cp ~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/files/scripts/baas-options.sh ~/saved/10.1.10-cloudctl
cp ~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/files/scripts/baas-values-cr.yaml ~/saved/10.1.10-cloudctl
- From the ~/saved/10.1.10-cloudctl directory, update
the values in the baas-options.sh, baas-values-cr.yaml,
and cloudctl-options.sh files. For instructions, see Setup the 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 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 package:
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.10-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
- Change to the directory that contains the scripts for installing Container Backup Support by using a CASE package:
cd ~/baas-case-package/ibm-spectrum-protect-plus/inventory/ibmSpectrumProtectPlusProd/cloudctl-scripts
- 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.10-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-k8s.sh
The following tasks are completed automatically by the script:
- Validates the target registry address
- Creates the baas namespace
- Install the Strimzi operator, which manages the Kafka
container that is used for messaging services.
- Configures the credentials for the IBM Entitled Registry
- Configures the credentials for the Red Hat Registry
- Configures the credentials for the target registry
- Mirror the images to the target registry
- Installs the Container Backup Support catalog source
- Installs the Container Backup Support
operator
- Installs an instance of Container Backup Support
- Verifies that the Container Backup Support pods are running by running the following command (repeatedly if necessary):
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
strimzi-cluster-operator-v0.26.0-bd668f7cb-ghtcq 1/1 Running 0 97m
What to do next
Complete post-installation tasks. For instructions, see Post-installation tasks for Container Backup Support.