Installing Watson Discovery

A project administrator can install Watson Discovery on IBM® Cloud Pak for Data.

Permissions you need for this task
You must be an administrator of the OpenShift® project (Kubernetes namespace) where you will deploy Watson Discovery.
Information you need to complete this task
  • Watson Discovery needs only the restricted security context constraint (SCC).
  • Watson Discovery must be installed in the same project as Cloud Pak for Data.
  • Watson Discovery uses the following storage classes. If you don't use these storage classes on your cluster, ensure that you have a storage class with an equivalent definition:
    • IBM Cloud Block Storage: ibmc-block-gold
    • OpenShift Container Storage: ocs-storagecluster-ceph-rbd
    • * IBM Spectrum® (IBM Spectrum Scale Container Native only): ibm-spectrum-scale-sc
    • Portworx: portworx-db-gp2-sc

    * Watson Discovery supports IBM Spectrum Scale Container Native, but not IBM Spectrum Fusion.

Before you begin

Ensure that the cluster meets the minimum requirements for installing Watson Discovery. For details, see System requirements.

Additionally, ensure that a cluster administrator completed the required Pre-installation tasks for your environment. Specifically, verify that a cluster administrator completed the following tasks:

  1. Cloud Pak for Data is installed. For details, see Installing Cloud Pak for Data.
  2. For environments that use a private container registry, such as air-gapped environments, the Watson Discovery software images are mirrored to the private container registry. For details, see Mirroring images to your container registry.
  3. The cluster is configured to pull the Watson Discovery software images. For details, see Configuring your cluster to pull images.
  4. The Watson Discovery catalog source exists. For details, see Creating catalog sources.
  5. The Watson Discovery operator subscription exists. For details, see Creating operator subscriptions.
  6. The node settings are adjusted for Watson Discovery. For details, see Changing required node settings.

If these tasks are not complete, the Watson Discovery installation will fail.

Watson Discovery requires that the following configuration settings be applied when you install Cloud Pak for Data:
  • The service supports single-zone OpenShift® deployments; it does not support multi-zone deployments.
  • Prior to the 4.0.6 release, the cloudctl commands expect your system default locale to be set to English. If your system locale is set to something else, disable localization on your system before you install the service. To do so, you can use the export LANG=C command.
  • The Watson Discovery service has a dependency on other operators that also need to be configured to manage Cloud Pak for Data namespaces. There is a csvInjector flag that enables the namespace scope operator to perform this configuration automatically when the operators are introduced into the namespace. Be sure to include and enable the csvInjector flag.
  • Watson Discovery uses the following foundational services:
    • Certificate Manager
    • License Service
    • EDB Cloud Native PostgreSQL Database

    Review Installing IBM Cloud Pak® foundational services to determine whether you need to take extra steps to install the services manually. For some services, such as the License Service, you might need to take some additional steps.

    Starting with the 4.0.3 release, you can use the PostgreSQL operator that is included with IBM Cloud Pak foundational services instead of installing it separately as part of this procedure. When you complete the Creating operator subscriptions prerequisite step, you submit the cloud-native-postgresql operand request, which installs the PostgreSQL operator in your project.
    Note: You must be using the 3.13 (which was included with Cloud Pak for Data 4.0.3) or a later version of IBM Cloud Pak foundational services. If you're using an earlier version of the foundational services, see Upgrading IBM Cloud Pak foundational services.

Procedure

Complete the following tasks to install Watson Discovery:

  1. Installing the service
  2. Verifying the installation
  3. What to do next

Installing the service

To install Watson Discovery:

  1. Log in to Red Hat® OpenShift Container Platform as a user with sufficient permissions to complete the task:
    oc login OpenShift_URL:port
  2. Create a WatsonDiscovery custom resource to install Watson Discovery. Follow the appropriate guidance for your environment.
    Important: By creating a WatsonDiscovery custom resource with spec.license.accept: true, you are accepting the license terms for Watson Discovery. You can find links to the relevant licenses in IBM Cloud Pak for Data License Information.
    Tip: For additional properties that you can specify in the custom resource, see Additional installation options.

    The cluster uses the recommended storage class names.

    The recommended storage class names are described in Setting up shared persistent storage.

    Create a custom resource with the following format.

    cat <<EOF |oc apply -f -
    apiVersion: discovery.watson.ibm.com/v1
    kind: WatsonDiscovery
    metadata:
      annotations:
        oppy.ibm.com/disable-rollback: "true"
      name: wd # Do not change the name.
      namespace: project-name # Replace with the project where Cloud Pak for Data is installed.
    spec:
      license:
        accept: true
      version: 4.0.9
      shared:
        storageClassName: storage-class-name  # See the guidance in "Information you need to complete this task"
      watsonGateway:
        version: main
    EOF
  3. When you create the custom resource, the Watson Discovery operator installs Watson Discovery.

Additional installation options

You can add the following optional installation settings to the custom resource:
deploymentType
The deployment type options are Starter or Production.
  • A Starter deployment configures most pods with a single replica, the minimum size that is required for the service to function. It is intended for demonstration and trial purposes only.
    Note: This deployment type name changed from Development to Starter with the 4.0.8 release. The Development and Starter types are functionally the same, and both values are accepted by the service.
  • A Production deployment configures pods with at least two replicas to support production-scale workloads.
A Starter deployment is created by default.
Attention: For a production environment, you must add the deploymentType option and set it to Production before you install the service. You cannot change the deployment type later. If you want to change the deployment type, you must reinstall the service and specify the appropriate deployment type in the custom resource.
For example:
spec:
  ...
  shared: 
    deploymentType: Production   # Add and set to "Production" or a Starter deployment is created by default.
Persistent volume claim sizes for microservice nodes
You can specify different PVC sizes for nodes that host the microservices that are used by the service.
For example:
spec:
  ...
  elasticsearch:
    clientNode:
      persistence:
        size: 1Gi     # Persistent volume claim size for the Elasticsearch client node
    dataNode:
      persistence:
        size: 40Gi     # Persistent volume claim size for the Elasticsearch data node
    masterNode:
      persistence:
        size: 2Gi     # Persistent volume claim size for the Elasticsearch coordinator node
  etcd:
    storageSize: 10Gi     # Persistent volume claim size for etcd data store
  minio:
    persistence:
      size: 100Gi     # Persistent volume claim size for the MinIO data store
  postgres:
    database:
      storageRequest: 30Gi     # Persistent volume claim size for the PostgreSQL database
  rabbitmq:
    persistentVolume:
      size: 5Gi     # Persistent volume claim size for the RabbitMQ data store

Verifying the installation

When you create the custom resource, the Watson Discovery operator processes the contents of the custom resource and starts up the microservices that comprise Watson Discovery, including WatsonDiscovery. (The WatsonDiscovery microservice is defined by the wd custom resource.) Watson Discovery is installed when the WatsonDiscovery status is Completed.

To check the status of the installation:

  1. Change to the project where you installed Watson Discovery:
    oc project project-name
  2. Get the status of Watson Discovery (wd):
    oc get WatsonDiscovery wd -o jsonpath='{.status.watsonDiscoveryStatus} {"\n"}'

    Watson Discovery is ready when the command returns Completed

What to do next

The service is ready to use now. For more information, see Getting started.