Table of contents

Deploy Watson Studio Local into IBM Cloud Private

You can deploy Watson Studio Local into IBM Cloud Private, IBM's new Kubernetes-based private cloud, by using the IBM Cloud Private CLI.

Steps to complete:

  1. Verify requirements
  2. Install IBM Cloud Private
  3. Load Watson Studio Local on the ICP catalog
  4. Set up storage
  5. Configure Watson Studio Local on ICP
  6. Deploy Watson Studio Local on ICP

You can also Upgrade Watson Studio Local on ICP or Uninstall Watson Studio Local from ICP.

Verify requirements

Watson Studio Local is delivered as an integrated set of pods and Kubernetes services. Watson Studio Local pods use kube-dns to discover each other by a fixed name, so it is important that each independent copy of Watson Studio Local gets deployed in a separate Kube namespace.

Software requirements:

  • IBM Cloud Private Version 2.1 or later (GlusterFS requires Version 2.1.0.2 or later)
  • IBM Cloud Private CLI
  • Kubectl command line
  • Shared storage (GlusterFS or NFS)
  • Three worker nodes (minimum 8 cores with 32 GB memory)

Install IBM Cloud Private

To install IBM Cloud Private and IBM Cloud Private CLI, see Installing IBM Cloud Private and Installing the IBM Cloud Private CLI. In the IBM Cloud Private App Center, go to Manage > Namespaces and click Create Namespace to create a namespace for Watson Studio Local.

Load Watson Studio Local on the ICP catalog

To install Watson Studio Local on the ICP catalog, complete the following steps:

  1. Authenticate to kubectl using the IBM Cloud Private CLI tool:
    • For ICP version 2, run: bx pr login -a https://<cluster_ip>:8443 --skip-ssl-validation
    • For ICP version 3, run: cloudctl login -a https://<cluster_ip>:8443 --skip-ssl-validation
  2. Authenticate to docker: docker login <cluster_name>:8500
  3. Upload the Watson Studio Local TGZ file to the ICP catalog by using the IBM Cloud Private CLI tool:
    • For ICP version 2, run: bx pr load-ppa-archive --archive dsx-icp.tar.gz
    • For ICP version 3, run: cloudctl catalog load-ppa-archive --archive dsx-icp.tar.gz
    where dsx-icp.tar.gz represents the Watson Studio Local installation TGZ file.
  4. Go to Manage > Helm Repositories and click Sync Repositories.
  5. Go to Catalog > Helm Charts and verify that the ibm-dsx-prod chart now displays. If you have more than version of Watson Studio Local loaded in the catalog, you will see a drop down menu to select the version that you want to work with.
  6. In the IBM Cloud Private App Center, select the user and click Configure Client to configure kubectl. Copy and paste into your terminal. The user must have administrator privileges for the following actions.
  7. Set the Watson Studio Local images scope to global by entering the following command with kubectl authenticated:
    for image in $(kubectl get images | tail -n +2 |
    awk '{ print $1; }'); do kubectl get image $image -o yaml | sed
    's/scope: namespace/scope: global/' | kubectl apply -f -; done

    Ignore the following warning if you see it: Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply.

Set up storage

Use either storage with dynamic provisioning with GlusterFS, or storage with NFS. The underlying directories for the storage should have 755 permissions.

Dynamic provisioning
If you are using storage dynamic provisioning with GlusterFS, simply ensure that the appropriate storage class exists. This can be checked with: kubectl get storageclasses | grep glusterfs. If nothing shows up, then consult your cluster administrator about the availability of GlusterFS.
NFS storage

Alternatively, if you are using NFS as the storage type, then identify an NFS server and create the following directories for the NFS mount path:

  • cloudant
  • redis
  • spark-metrics
  • user-home
  • influxdb (required for Watson Studio Local Version 1.2.1 or later)
  • modeler-canvas (required for SPSS Modeler Version 1.2.2 or later)

Also, the NFS exports must include the following options: (rw,sync,no_root_squash,no_all_squash)

In the IBM Cloud Private App Center, go to Platform > Storage and create the following PVs with this information:

Name General Tab: Capacity General Tab: Access Mode General Tab: Storage Type Labels: assign-to Parameters: server Parameters: path
cloudant-repo-pv 10Gi Read Write Many NFS <namespace>-cloudant NFS Server IP <NFS Mount path>/cloudant
redis-repo-pv 10Gi Read Write Many NFS <namespace>-redis NFS Server IP <NFS Mount path>/redis
spark-metrics-pv 50Gi Read Write Many NFS <namespace>-spark-metrics NFS Server IP <NFS Mount path>/spark-metrics
user-home-pv 100Gi Read Write Many NFS <namespace>-user-home NFS Server IP <NFS Mount path>/user-home
influxdb-pv 10Gi Read Write Many NFS <namespace>-influxdb NFS Server IP <NFS Mount path>/influxdb
modeler-canvas-pv 10-50Gi Read Write Many NFS <namespace>-modeler-canvas-volume NFS Server IP <NFS Mount path>/modeler-canvas

Configure Watson Studio Local on ICP

To configure Watson Studio Local on ICP, complete the following steps:

  1. In the IBM Cloud Private App Center, go to Catalog > Helm Charts, and select ibm-dsx-prod, and select Configure.
  2. In Release Name, specify a name.
  3. Select the namespace you created.
  4. Read and accept the license.
  5. The default storage is NFS. If using Dynamic Provisioning for storage, select the Dynamic Provisioning checkbox.

You are now ready to deploy with the default values. See Configuration parameters in Watson Studio Local on IBM Cloud Private for optional configuration changes.

Deploy Watson Studio Local on ICP

Click on Install. This will start the deployment of all Watson Studio Local components.

Recommendation: Close the dialog and do not click See releases, as this will reset the configuration to the default values if you exit this screen.

You can check the progress in Workloads > Deployments and Workload > Helm Releases. Once the deployment completes, you can access the Watson Studio Local client by visiting: https://MASTER_NODE_IP:dsxservice.externalPort/. The default value of dsxservice.externalPort is 31843.

See IBM Watson Studio Local for more documentation on how to use Watson Studio Local.

Upgrade Watson Studio Local on ICP

To upgrade Watson Studio Local on ICP, complete the following steps

  1. Load the new version of Watson Studio Local to the ICP catalog following the instructions in Load Watson Studio Local on the ICP catalog.
  2. Refer to Set up storage to ensure you have the necessary volumes depending on the version you are upgrading to.
  3. In the IBM Cloud Private App Center, go to Workloads > Helm Releases and select the Watson Studio Local or DSX Local release that you want to upgrade.
  4. Click Upgrade and select the version to which you want to upgrade. Wait awhile for all pods running with the old version to be deleted, and for the new pods to go up and running. Attention: After you upgrade, the dialog does not close. Do not click upgrade again because it can leave the release in a failed state. Close the dialog manually.

Uninstall Watson Studio Local from ICP

To uninstall Watson Studio Local from ICP, complete the following steps:

  1. In the IBM Cloud Private App Center, go to Workloads > Helm Releases and delete the Watson Studio Local helm release. If you get an error then omit it and refresh the page. Wait a few minutes for the components of Watson Studio Local to be removed.
  2. Because runtimes and jobs created post-Watson Studio Local deployment are not deleted with the release, they need to be removed manually. From the Workloads page, delete the remaining deployments, jobs, and cronjobs belonging to the namespace to which Watson Studio Local was installed.
  3. If using NFS as the storage, go to your NFS server and delete the content of the directories that were used for the PVs.
  4. In some cases, some of the PVCs might remain behind. Go to Manage > Storage and delete any remaining PVCs that were associated with Watson Studio Local.