Topic : How to install, enable and integrate IBM Knowledge catalog on IBM Watsonx.data(On-Prem)
Prerequisites : IBM Watsonx.data on-prem Environment.
Once you have a working IBM Watsonx.data On-Prem Environment (FYR : Steps), proceed with the below steps
Installing IKC on IBM Watsonx.data on-prem CPD Environment
1) Log using cpd-cli
in to the Red Hat OpenShift Container Platform cluster:
cpd-cli manage login-to-ocp \
--username=${OCP_USERNAME} \
--password=${OCP_PASSWORD} \
--server=${OCP_URL}
2) Run the following command to create the required OLM objects for IBM Knowledge Catalog in the operators project for the instance:
cpd-cli manage apply-olm \
--release=${VERSION} \
--cpd_operator_ns=${PROJECT_CPD_INST_OPERATORS} \
--components=wkc
3) Create the custom resource for IBM Knowledge Catalog. Note : The command that you run depends on the storage on your cluster. In this case, the Watsonx.data is installed using Red Hat OpenShift Data Foundation Storage.
cpd-cli manage apply-cr \
--components=wkc \
--release=${VERSION} \
--cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
--block_storage_class=${STG_CLASS_BLOCK} \
--file_storage_class=${STG_CLASS_FILE} \
--license_acceptance=true
4) Validating the installation :
$ cpd-cli manage get-cr-status \
> --cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
> --components=wkc
[INFO] 2024-06-20T02:31:51.980774Z Checking architecture: amd64
[INFO] 2024-06-20T02:31:51.980812Z Checking podman or docker
[INFO] 2024-06-20T02:31:52.021113Z Dockerexe: podman
[INFO] 2024-06-20T02:31:52.074703Z Container olm-utils-play-v2 is running already. Image: icr.io/cpopen/cpd/olm-utils-v2:latest
[INFO] 2024-06-20T02:31:52.126621Z Processing subcommand get-cr-status
[INFO] 2024-06-20T02:31:52.126660Z Run command: podman exec -it olm-utils-play-v2 get-cr-status --cpd_instance_ns=zen --components=wkc
Execute script: python3 /opt/ansible/bin/get_cr_status.py --cpd_instance_ns zen --components wkc
Running the get_cr_status.py script. Start of the log.
================================================================
[INFO] Output the result in the JSON format:
{"wkc": [{"CR-kind": "WKC", "CR-name": "wkc-cr", "Namespace": "zen", "Creationtimestamp": "2024-06-18T13:35:16Z", "Version": "4.8.5", "Status": "Completed"}]}
[INFO] Output the result in the below chart:
Component CR-kind CR-name Namespace Status Version Creationtimestamp Reconciled-version Operator-info
----------- --------- --------- ----------- --------- --------- -------------------- -------------------- ---------------
wkc WKC wkc-cr zen Completed 4.8.5 2024-06-18T13:35:16Z N/A N/A
The get_cr_status.py script ran successfully. End of the log.
================================================================
[SUCCESS] The status of custom resources was saved to '/home/admin/work/cpd-cli-workspace/olm-utils-workspace/work/status.csv'.
[SUCCESS] 2024-06-20T02:31:53.616679Z You may find output and logs in the /home/admin/work/cpd-cli-workspace/olm-utils-workspace/work directory.
[SUCCESS] 2024-06-20T02:31:53.616732Z The get-cr-status command ran successfully.
[admin@bastion-gym-lan work]$ podman exec -it olm-utils-play-v2 get-cr-status --cpd_instance_ns=zen --components=wkc
Execute script: python3 /opt/ansible/bin/get_cr_status.py --cpd_instance_ns zen --components wkc
Running the get_cr_status.py script. Start of the log.
================================================================
[INFO] Output the result in the JSON format:
{"wkc": [{"CR-kind": "WKC", "CR-name": "wkc-cr", "Namespace": "zen", "Creationtimestamp": "2024-06-18T13:35:16Z", "Version": "4.8.5", "Status": "Completed"}]}
[INFO] Output the result in the below chart:
Component CR-kind CR-name Namespace Status Version Creationtimestamp Reconciled-version Operator-info
----------- --------- --------- ----------- --------- --------- -------------------- -------------------- ---------------
wkc WKC wkc-cr zen Completed 4.8.5 2024-06-18T13:35:16Z N/A N/A
$ oc get WKC wkc-cr
NAME VERSION RECONCILED STATUS AGE
wkc-cr 4.8.5 4.8.5 Completed 40h
Verify all pods are in healthy state : Running/ Completed.
$ oc get pods -n ${PROJECT_CPD_INST_OPERANDS} | grep wkc
c-db2oltp-wkc-db2u-0 1/1 Running 0 40h
c-db2oltp-wkc-instdb-6j8sm 0/1 Completed 0 40h
wkc-base-roles-init-b94xd 0/1 Completed 0 40h
wkc-bi-data-service-5f978b7ff9-2f7gn 1/1 Running 0 39h
wkc-catalog-api-jobs-6bb854bbd8-xh8hq 1/1 Running 0 39h
wkc-data-rules-646497b788-7bjq2 1/1 Running 0 39h
wkc-db2u-init-cmzf8 0/1 Completed 0 40h
wkc-extensions-translations-init-hnx9b 0/1 Completed 0 40h
wkc-glossary-service-7864b65cbf-knjjs 1/1 Running 0 39h
wkc-glossary-service-sync-cronjob-28647691-cxhtw 0/1 Completed 0 64m
wkc-glossary-service-sync-cronjob-28647721-xddr4 0/1 Completed 0 34m
wkc-glossary-service-sync-cronjob-28647751-5rnf4 0/1 Completed 0 4m51s
wkc-gov-ui-64dc96c968-vx5qf 1/1 Running 0 39h
wkc-mde-service-manager-67cd6fd4c5-72426 1/1 Running 0 39h
wkc-metadata-imports-ui-5c6fc94899-nrplj 1/1 Running 0 39h
wkc-post-install-init-vhlpc 0/1 Completed 0 39h
wkc-roles-init-wgllk 0/1 Completed 0 40h
wkc-search-574cb4bd8c-c2jf8 1/1 Running 0 40h
wkc-term-assignment-79ff55994f-pflkk 1/1 Running 0 39h
wkc-workflow-service-7447f55946-q7jh9 1/1 Running 0 39h
$ oc get pods -n ${PROJECT_CPD_INST_OPERANDS} | grep db2
c-db2oltp-wkc-db2u-0 1/1 Running 0 40h
c-db2oltp-wkc-instdb-6j8sm 0/1 Completed 0 40h
wkc-db2u-init-cmzf8 0/1 Completed 0 40h
Verify all the IKC/WKC operators are running:
$ oc get pods -n ${PROJECT_CPD_INST_OPERATORS} | grep wkc
ibm-cpd-wkc-operator-796d9c89db-zn2c7 1/1 Running 0 41h
ibm-cpd-wkc-operator-catalog-fft6p 1/1 Running 0 41h
Enabling IKC on IBM Watsonx.data on-prem CPD Environment
Follow the below steps along with screenshot hits.
1) Login to CPD console with admin id and password. Incase you need to fetch the CPD console login details on which IKC and WXD is installed, run below command :
cpd-cli manage get-cpd-instance-details \
> --cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
> --get_admin_initial_credentials=true
[INFO] 2024-06-20T03:00:37.857265Z Checking architecture: amd64
[INFO] 2024-06-20T03:00:37.857301Z Checking podman or docker
[INFO] 2024-06-20T03:00:37.922710Z Dockerexe: podman
[INFO] 2024-06-20T03:00:38.009667Z Container olm-utils-play-v2 is running already. Image: icr.io/cpopen/cpd/olm-utils-v2:latest
[INFO] 2024-06-20T03:00:38.091837Z Processing subcommand get-cpd-instance-details
[INFO] 2024-06-20T03:00:38.091903Z Run command: podman exec -it olm-utils-play-v2 get-cpd-instance-details --cpd_instance_ns=zen --get_admin_initial_credentials=true
CPD Url: cpd-zen.apps.6670e8f7359145001ee5b6e3.cloud.techzone.ibm.com
CPD Username: cpadmin
CPD Password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[SUCCESS] 2024-06-20T03:00:39.407353Z You may find output and logs in the /home/admin/work/cpd-cli-workspace/olm-utils-workspace/work directory.
[SUCCESS] 2024-06-20T03:00:39.407447Z The get-cpd-instance-details command ran successfully.
2) Select Catalogs - > All Catalogs
3) Create a new catalog from the catalog page: Click on New Catalog.
4) On the new catalog creation page, enter all the details like new catalog name and description for the same. Make sure to check Enforce data protection rules box and click on create to create the desired new catalog.
6) Create connection: IBM watsonx.data page will open where in you will need to enter the connection information to create the required connection.
FYR : Refer to IBM Watsonx.data connection for details on connection parameters.
#watsonx.data
#Catalog