Installing Container Backup Support from IBM Helm Charts Repository and IBM Entitled Registry

You can install Container Backup Support by using the IBM® Helm Charts Repository that is linked to the IBM Entitled Registry.

Before you begin

For the system requirements for Container Backup Support, see Container Backup Support requirements.

Ensure that prerequisites are met and preliminary tasks are completed:
  • Ensure that you are logged in to the target cluster as a user with cluster-admin privileges.
  • Ensure that internet access is available to pull containers at deployment time.
  • Ensure that you complete the installation prerequisites. For instructions, see Installation prerequisites for Container Backup Support.
  • Ensure that you set up the installation variables in the baas-options.sh and baas-values.yaml files. For instructions, see Setting up the installation variables.

About this task

You must first prepare your environment by adding the IBM Helm 3 repository to your local repository list and fetching the Container Backup Support Helm package from the IBM Helm Charts Repository. Then, extract the package and use the script that is provided in the Container Backup Support Helm package to deploy Container Backup Support on your Kubernetes or OpenShift cluster.

By using the installation variables that you set up in the baas-options.sh and baas-values.yaml files, the provided script, baas-install-entitled-registry.sh, automatically runs prerequisite tasks and installs Container Backup Support on your cluster. The following tasks are performed automatically:

  • Checking for prerequisites
  • Logging in to the IBM Entitled Registry
  • Removing any existing Container Backup Support resources and images
  • Creating the product Kubernetes namespace or OpenShift project (baas) and secret
  • Creating an image pull secret called baas-registry-secret for the namespace (or project) baas and any namespaces assigned to the PVC_NAMESPACES_TO_PROTECT variable in the baas-options.sh file.
    Important: If you added PVCs in a namespace that was not initially specified by PVC_NAMESPACES_TO_PROTECT, you must manually create the pull secret in the new namespace. To create the image pull secret manually, issue the following commands:
    • For Kubernetes:
      kubectl get secret baas-registry-secret -n namepace_for_baas -o yaml > secret.yaml
      sed 's/namespace: namepace_for_baas/namespace: pvc_namespace/' secret.yaml
      kubectl  create -f secret.yaml 
      
    • For OpenShift:
      oc get secret baas-registry-secret -n namepace_for_baas -o yaml > secret.yaml
      sed 's/namespace: namepace_for_baas/namespace: pvc_namespace/' secret.yaml
      oc create -f secret.yaml 

    where namepace_for_baas specifies the namespace that Container Backup Support is installed in, and pvc_namespace specifies the namespace for the PVC.

  • Pulling the Container Backup Support containers from the IBM Entitled Registry at deployment time

Procedure

  1. Complete this one-time preparation to add the IBM Helm Charts repository to the local repository list. Issue the following commands:
    helm3 repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm
    helm3 repo list
    helm3 repo update
    helm3 search repo spectrum
  2. Fetch the Container Backup Support Helm package from the IBM Helm Charts Repository:
    mkdir installer
    cd installer
    helm3 fetch ibm-helm/ibm-spectrum-protect-plus-prod --version "chart_version"

    where chart_version specifies the version of the Helm chart. For example, specify 1.1.0 for IBM Spectrum Protect Plus V10.1.7, 1.1.1 for V10.1.7.1, 1.1.2 for V10.1.7.2, and so on.

  3. Extract the Helm package:
    tar -xvf ibm-spectrum-protect-plus-prod-chart_version.tgz

    where chart_version specifies the version of the Helm chart. For example, specify 1.1.0 for IBM Spectrum Protect Plus V10.1.7, 1.1.1 for V10.1.7.1, 1.1.2 for V10.1.7.2, and so on.

    Restriction: Ensure that you do not add any large files to the installer/ibm-spectrum-protect-plus-prod directory. The size of the contents in this directory, including files and subdirectories, must not exceed the limit set by Helm (3145728 bytes).
  4. Copy the baas-options.sh and baas-values.yaml files that you created to the Helm chart installation directory:
    cd ibm-spectrum-protect-plus-prod/ibm_cloud_pak/pak_extensions/install
    cp ~/install_vars_dir/baas-options.sh .
    cp ~/install_vars_dir/baas-values.yaml .
    chmod +x *.sh
    where install_vars_dir is the directory where you saved your custom baas-options.sh and baas-values.yaml files.
  5. Issue the following command to deploy Container Backup Support:
    ./baas-install-entitled-registry.sh

Results

You can verify that Container Backup Support is installed by issuing the following command:
helm3 list -n baas
The output is similar to the following example:
NAME                           NAMESPACE REVISION UPDATED                                 STATUS   CHART                                APP VERSION
ibm-spectrum-protect-plus-prod baas      1        2020-10-28 13:15:08.154754539 -0700 MST deployed ibm-spectrum-protect-plus-prod-1.1.0 10.1.7

All of the Container Backup Support pods will load and change to the Running state after a few minutes.

When all pods are running, the deployment is completed. To verify that all pods are in the Running state and no components are missing, issue the following command:
kubectl get pods -n baas -w
For Kubernetes, the output is similar to the following example:
NAME                                           READY   STATUS      RESTARTS   AGE
baas-controller-5f75fc6c9-tmg5l                1/1     Running     0          6h15m
baas-entity-operator-c99f4c49b-p9v9c           3/3     Running     1          6h15m
baas-kafka-0                                   2/2     Running     0          6h15m
baas-minio-0                                   1/1     Running     3          6h15m
baas-scheduler-dfdcd9467-88hb5                 1/1     Running     0          6h15m
baas-spp-agent-db6b98f85-svdxz                 1/1     Running     0          6h15m
baas-strimzi-cluster-operator-7b5c4f9597-88xfn 1/1     Running     0          6h15m
baas-transaction-manager-f654f7f48-7mdxt       3/3     Running     0          6h15m
baas-zookeeper-0                               1/1     Running     0          6h15m
baas-zookeeper-1                               1/1     Running     0          6h15m
baas-zookeeper-2                               1/1     Running     0          6h15m
For OpenShift, the output is similar to the following example:
NAME                                                   READY   STATUS      RESTARTS   AGE
amq-streams-cluster-operator-v1.5.3-5b795f4c69-gdsrx   1/1     Running     0          24m
baas-controller-5f75fc6c9-tmg5l                        1/1     Running     0          24m
baas-entity-operator-c99f4c49b-p9v9c                   3/3     Running     1          24m
baas-kafka-0                                           2/2     Running     0          24m
baas-minio-0                                           1/1     Running     3          24m
baas-scheduler-dfdcd9467-88hb5                         1/1     Running     0          24m
baas-spp-agent-db6b98f85-svdxz                         1/1     Running     0          24m
baas-transaction-manager-f654f7f48-7mdxt               3/3     Running     0          24m
baas-zookeeper-0                                       1/1     Running     0          24m
baas-zookeeper-1                                       1/1     Running     0          24mm
baas-zookeeper-2                                       1/1     Running     0          24m

What to do next

After the deployment is completed, the application host for the Container Backup Support container is automatically registered upon startup of the cluster host in Kubernetes or OpenShift. However, if no clusters are displayed in the Manage Protection > Containers > Kubernetes page or the Manage Protection > Containers > OpenShift page in the IBM Spectrum Protect Plus user interface, automatic registration was unsuccessful. You must then manually register the cluster. For instructions, see Registering a Kubernetes cluster or Registering an OpenShift cluster.

Updating Container Backup Support: You can modify an existing configuration of Container Backup Support or upgrade the Helm chart. For instructions, see Updating Container Backup Support.