significantly# Install instructions for Cloud Pak for Data (work in progress)
- Provision OpenShift
- Provision the Control plane using IBM Cloud tile
- Setting up the Cloud Pak for Data Client
- Data Virtualization
- Watson Studio
- Watson Machine Learning
- Watson OpenScale
- Db2 Warehouse
- Db2 Advanced
- Installing DataStage service
- Installing Analytics Dashboards
- Installing Analytics Engine (Spark Clusters)
- Installing Cognos Analytics
- Watson Knowledge Catalog
The AI Ladder and how Cloud Pak for Data
Provision the Control plane using IBM Cloud tile
- Click Catalog
- Click Software
- Filter on Analytics or In the search box enter Cloud Pak and press enter. This should list the available Cloud Paks that can be provisioned. In these instructions, you are going to install Cloud Pak for Data.
- Click on the Cloud Pak for Data tile.
- Click on the Readme tab to review what you can provision using Schematics (Terraform).
Building the configuration
- On the create tab, this is where we will build the configuration of the Cloud Pak for Data clusters
- First section describes the bare minimum configuration. For Cloud Pak for Data it is as follows.
Each cluster must meet a set of minimum requirements: 3 nodes with 16 cores, 64GB memory, and 25GB disk per node.
As I know I want to add Db2 Warehouse and provision a Data Virtualization instance, I will start with 4 node OpenShift cluster. As I add more features, I am needing more capacity when I provision the instance. - Select the cluster that was previously created. Where you created project
zen
. - Select the project. While you can pick
default
, you would be better served picking the previously create project likezen
. - Rename the workspace to something you will remember like
CPDDemo-HealthCare
for a health care demo. - Pick your resource group, if you did not create one, just use
Default
. - You can tag your environment for easy search. This is not required.
- Scroll down and select Run Script if you do not have permissions, you can share a link and have an administrator execute this.
- Scroll down and select the services that you desire to add to Cloud Pak for Data. Note: This is a first time set up action only. Currently, Once provisioned, toggling true then false will lead to no further action. You will need to uninstall or install again, which will be shown later. To install all of these, you will need significantly more infrastructure. The Master or controller OCP Nodes are part of a Service Account. The Worker or Compute Nodes are added to your account. VLAN Spanning is needed for this to work. To get a better idea for sizing infrastructure, you can used this Sales Config tool. It may require an IBM approval for access, which you will use your IBM ID.
- AI (Apache Spark, IBM Streams, RStudio Server, Watson Studio, Watson Machine Learning, Watson OpenScale)
- Dashboarding (Analytic Dashboards)
- Data Governance (Watson Knowledge Catalog, Open Source Management)
- Data Sources (Data Virtualization, Db2 Warehouse).
- On the right, you should see your entitlements and a yellow box, which will turn green after you run the script below.
- Check the box and to accept the license.
- Once install is complete, you may need to check for and apply patches. Hopefully in the future you will always pull the latest from the container registry.
Review Services installed
- From the Schematics workspace, Click
Offering dashboard
- Depending on your browser, you will need to accept the certificate. General path is Advanced then accept risk. This will bring you to the login page. Bookmark this for future usage.
- Login using default credentials as seen in video.
- Along the black menu bar at the top the icon to the right on the magnifying glass is
Services
. Click on this link. - Take a look at the services that are
enabled
. These have been installed or deployed. Depending on what was selected any of these could beavailable
orenabled
.- AI (Apache Spark, IBM Streams, RStudio Server, Watson Studio, Watson Machine Learning, Watson OpenScale)
- Dashboarding (Analytic Dashboards)
- Data Governance (Watson Knowledge Catalog, Open Source Management)
- Data Sources (Data Virtualization, Db2 Warehouse).
- Some are set up automatically and some you need to provision.
Troubleshooting and managing Cloud Pak for Data through the console
Manage Deployments
coming soon
Back to Table of Contents
Manage Users
coming soon
Viewing logs
coming soon
Back to Table of Contents
Setting up the Cloud Pak for Data Client
- You have already set up the client environment. If not go have to the first page and execute these step under Installing the client environment You will have logged into the OpenShift cluster, set the project to zen already built the encrypted route to the internal container repository. This is where all of your containers and helm charts will be stored. If zen doesn’t exist, then your probably went with default.
- Here is a link to the knowledge center for Cloud Pak for Data installation instructions. The next steps are a sequential version for this environment.
- How do I get the installer? Click the CPD Github to download the Enterprise Edition. Named cloudpak4data-ee-3.0.1.tgz. File is about 128MB.
- Unarchive the client bits. You should find the following.
- repo.yaml
- bin
- LICENSES
- Find the file called
repo.yaml
This is a simple file, but key. Here is where you will add theapikey
to get access to the container registry for the additional Services. - In a web browser, Login and access the entitlement registry. Click Get entitlement key on the left side above Library. Either Generate a key or Copy the existing key. This will populate your scratchpad where you can paste it into the
repo.yaml
file. - Paste the apikey into the Yaml file to the right of the
apikey:
After you paste, it should something like this only longer.registry: - url: cp.icr.io/cp/cpd username: cp apikey: eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJJ name: base-registry fileservers: - url: https://raw.github.com/IBM/cloud-pak/master/repo/cpd3
Note: While the documentation denotes Linux, using cpd-linux, the video uses cdp-darwin for Mac, cpd-windows.exe for windows.
- Move to the bin directory, this is where all the tools will be located for command line control of Cloud Pak for Data 3.0.x:
cd bin
- List the directory to see the command available. I denoted the platform names in ( ). I usualy delete the other platforms to not confuse myself.
cpd-darwin (Mac) cpd-linux (Linux) cpd-windows.exe (Windows) cpd-ppc64le (Power) cpd-s390x (zOS)
- Run the client command to verify that it works. On Mac you will need to verify the command by launching it from finder.
./cpd-darwin
- You will notice in the rest of the documentation, I reference the command as
./cpd-${OS_NAME}
I also tell you to set and environment variable calledOS_NAME
which corresponds to the previous steps OS. So if you were running linux, you wouldexport OS_NAME=linux
. I mention this in each section, just in case. Maybe overkill, but better than messing it up.
Installing the Cloud Pak for Data Control Plane by command line
Note: This is not a recommended option on IBM Cloud. Since possible, I am documenting.
- Follow the instructions in Setting up the Cloud Pak for Data Client
- Follow the instructions in Retrieving the token to log into OpenShift on IBM Cloud
- Create your OpenShift namespace or project that you will install Cloud Pak for Data.
- Example:
oc project zen
- Example:
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Make sure all the node settings are set on the worker nodes. All this is done for you Provision the Control plane using IBM Cloud tile
- Install the control plane or the lite assembly
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly lite
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly lite
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly lite
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
To enable or disable the default admin users
- It is suggested to connect your user repository to an LDAP system.
- Once connected to LDAP, you should disable the default admin user.
- To do this you will run a script in the user management pod.
export NAMESPACE=zen oc exec -it -n $NAMESPACE $(oc get pod -n $NAMESPACE -l component=usermgmt | tail -1 | cut -f1 -d\ ) -- bash -c "/usr/src/server-src/scripts/manage-user.sh --disable-user admin"
- To reenable admin user run the following, which will prompt you for a new password:
export NAMESPACE=zen oc exec -it -n $NAMESPACE $(oc get pod -n $NAMESPACE -l component=usermgmt | tail -1 | cut -f1 -d\ ) -- bash -c "/usr/src/server-src/scripts/manage-user.sh --enable-user admin"
Note: If you have lost or forgotten your CPD Admin password, you can log into OpenShift then execute the enable command which prompts you for a new password.
How can I patch a service or control plane
From time to time any software needs a patch for security reasons, new feature or a bug fix. How do you know that there is a patch for a specifica service, common services or the control plane. Take a look here for v3.0.x. This document has a link to each of the service patches and any extra work that might be needed. Most patches need a prerequisite patch for the common services.
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly lite
- Run the command to patch the common services. Notice that the command is
patch
,patch-name
is cpd-3.0.1-lite-patch-5. This name will change after this writing. Note the assembly name can belite
,wkc
orwsl
../cpd-${OS_NAME} patch --repo ../repo.yaml --namespace ${NAMESPACE} --transfer-image-to ${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --cluster-pull-prefix image-${LOCAL_REGISTRY}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --insecure-skip-tls-verify --assembly lite --patch-name cpd-3.0.1-lite-patch-5
- Verify that the patch has been applied.
Toms-MBP:~ tjm$ oc project zen Already on project "zen" on server "https://c106-e.us-south.containers.cloud.ibm.com:31432". Toms-MBP:~ tjm$ oc describe cpdinstall cr-cpdinstall | grep "Patch Name:" | sort | uniq | cut -d: -f2 cpd-3.0.1-lite-patch-5
- you can repeat this pattern, replacing the values to the right of assembly and patch-name
Data Virtualization
Install Data Virtualization
Coming Soon
Set up Data Virtualization
- Click on the Services icon to get to the services catalog.
- Go to the Data Virtualization tile, you see to “Provision Instance”.
- Click on Provision Instance.
- Then Click Configure. Check the box to the left of
Set up semaphore parameters for Data Virtualization automatically
. - Click Configure.
- Select the number of nodes and cores to allocate. For a demo system defaults are enough. Note: Depending on how many node you have in your worker pool, this could fail provisioning with a not enough resource message. If you configure a default 3 16/64 workers and install all of the services, this message can appear. Resizing your worker pool to 4 will get you around this.
- Make sure your change the storage classes from
default
toibmc-file-gold-gid
. Choosing default could cause a failure. - Once provisioned, set some users to have Data Engineer role. - Go to the Navigator on the left and scroll down to Administer Click on Manage Users. - On the right of the list of users, you will see a pencil, which indicates edit. Click the pencil for the user you desire to edit. If you pick admin, you will see this is a new role added based on the Data Virtualization service.
- Go to My Instance
- Once complete, you will see Data Virtualization under the Collect area on the left table of contents. From here you can add data sources or pointers to file folders.
Note: I have not yet tested this with Remote Data Connections aka local file folders.
What can be done with Data Virtualization and Watson Knowledge Catalog
Watson Studio
Install Watson Studio
Coming Soon Need to add override file
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for Watson Studio to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly wsl
- Deploy Watson Studio by running the following:
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly wsl
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly wsl
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly wsl
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
- Check for patches
Set up Watson Studio
- If you pick Watson Studio or Watson Machine Learning tiles, there will be no actions to take. You can proceed and create a project.
Increase the capacity or scale up
- To scale services, you will need to have the command line installed. (Instruction under the Adding additional services section)
- You can scale up the services by executing these commands for either wsl. Note: There is currently no scale down function.
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Scale up Watson Studio by running the following (config sizes are small, medium and large):
./cpd-${OS_NAME} scale -n $NAMESPACE --config medium --load-from ./cpd-${OS_NAME}-workspace -a wsl
- Scale down Watson Studio by running the following (config sizes are small, medium and large):
./cpd-${OS_NAME} scale -n zen --config small --load-from ./cpd-${OS_NAME}-workspace -a wsl
Watson Machine Learning
Install Watson Machine Learning
Coming Soon Need to add override file
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for Watson Machine Learning to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly wml
- Deploy Watson Machine Learning by running the following:
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly wml
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly wml
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly wml
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
Increase the capacity or scale up your Watson Machine Learning service
- To scale services, you will need to have the command line installed. (Instruction under the Adding additional services section)
- You can scale up the services by executing these commands for either wml. Note: There is currently no scale down function.
- Run env to verify that the following variables are exported,Pick one no brackets Example export OS_NAME=darwin
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Scale up Watson Machine Learning by running the following (config sizes are small, medium and large):
./cpd-${OS_NAME} scale -n $NAMESPACE --config medium --load-from ./cpd-${OS_NAME}-workspace -a wml
- Scale down Watson Machine Learning by running the following (config sizes are small, medium and large):
./cpd-${OS_NAME} scale -n zen --config small --load-from ./cpd-${OS_NAME}-workspace -a wml
Watson OpenScale
Install Watson OpenScale
- When setting up OpenScale, there are 2 pre-prerequisites.
- Watson Machine Learning (Local or remote)
- Local then install
- Remote then document the following parameters:
- Db2 Database (Db2 Advanced or DB2 Warehouse Local or remote)
- If no remote Db2 instance available, then install either Db2 Advanced or Db2 Warehouse
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for Watson Machine Learning to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly aiopenscale
- Deploy Watson OpenScale by running the following:
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly aiopenscale
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly aiopenscale
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly aiopenscale
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
Set up Watson OpenScale
- For Watson OpenScale Service, there is an
Open
button which launch a UI to help configure the initial information. - Let’s provision OpenScale.
- You will be met with an auto setup to configure.
- First step is accept the local WML instance.
- Enter connection details for a Db2 Database. I am using a DB2 Warehouse that I installed later on. You need to have Db2/Db2 Warehouse running somewhere to get OpenScale to work. If you have one handy, you can use this otherwise we will configure it in the next section. Coming soon Back to Table of Contents
Db2 Warehouse
Install Db2 Warehouse (SMP)
- The first thing you will want to do is to pick one node that will house Db2 Warehouse and add a label.
- Run:
oc get nodes
This will produce a list of nodes. - Run
oc describe node | grep -eHostname: -e 'cpu ' -e 'memory '
Review the output and find the node with the least amount of resources allocated You will be setting a label to create Node Affinity. Db2 Warehouse pods will be installed to this particular node. Database will also be provisioned to this node. Sometimes you may need to resize your OpenShift worker pool size to increase capacity. Base on review I will pick node10.95.7.49
as it has the least amount of resources allocated right now.Toms-MBP:bin tjm$ oc describe node | grep -eHostname: -e 'cpu ' -e 'memory ' MemoryPressure False Wed, 10 Jun 2020 16:21:28 -0400 Mon, 08 Jun 2020 10:19:26 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available Hostname: 10.95.7.21 cpu 14941m (94%) 63645m (400%) memory 44715538Ki (74%) 150095560704 (244%) MemoryPressure False Wed, 10 Jun 2020 16:21:29 -0400 Mon, 08 Jun 2020 10:19:13 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available Hostname: 10.95.7.23 cpu 13960m (87%) 39825m (250%) memory 42889746Ki (71%) 106114088960 (172%) MemoryPressure False Wed, 10 Jun 2020 16:21:32 -0400 Mon, 08 Jun 2020 10:16:15 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available Hostname: 10.95.7.49 cpu 10718m (67%) 33863m (213%) memory 24435218Ki (40%) 85963040Ki (143%) MemoryPressure False Wed, 10 Jun 2020 16:21:35 -0400 Mon, 08 Jun 2020 10:21:40 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available Hostname: 10.95.7.6 cpu 11970m (75%) 49570m (312%) memory 30833170Ki (51%) 87313121280 (142%)
- Bind Db2 Warehouse and provisioned instances to a specific node, by adding a label of
icp4data=database-db2wh
to a node. Select this node according to known resources available. I picked node10.95.7.49
from the last command.oc label node <node name or IP Address> icp4data=database-db2wh
Note: If you resize your OpenShift cluster’s worker pool to a lower number of nodes, it is possible that the node with the label for Db2 Warehouse may be deleted. This would render any database instances unusable until you label another node and restart the
db2wh
pods, so they start on the same node. Do not try to label 2 nodes as you will get an anti-affinity error in thedb2u-0
and unified-console pods, They will stay in a state ofpending
. - Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=darwin or linux export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=darwin or linux or win export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for Db2 Warehouse to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly db2wh
- Deploy Db2 Warehouse by running the following:
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly db2wh
- This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly db2wh
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly db2wh
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
Note: Actual time taken is 16 minutes
Provision a Database instance
- Once installed and all pods are up, you can go to the service catalog page with the square with petals icon in upper right.
- On the services page, Click the left side filter to go to Datasources to get to Db2 Warehouse tile.
- Click the 3 vertical dots on upper left of the tile or Click through the tile then Click Provision Instance.
- On the Configure page keep defaults or adjust if you know you need more. Click Next.
- On the Storage page, Select Create new storage; Change Storage Class to ibmc-file-gold-gid ; Adjust the size to reflect the amount needed. Default is 100GB.
- Click Next
- Review the settings. Here you can change the Display name to something more memorable. Click Create.
- Your instance is being created and will be accessible from the Services > Db2 Warehouse tile. Also accessed from the Left menu My Instance then Click Provisioned instances
- From Provision Instances on the left you will see 3 horizontal dots. From this view, you can watch the steps of the provision, just incase it fails based on insufficient resources. Note: You can see a red triangle that states Failed. This is temporary and is most likely the Cloud provision service waiting on a storage volume to come online and available to mount as a persistent volume to map the persistent volume claim.
- Click this and see the options.
- Open will open the DB2 Warehouse instance for use.
- View details will provide you the details including user ; password ; jdbc url
- Manage Access let you add user ids and assign them Admin or User roles.
- Delete This will delete this particular instance. Note Total time took about 12 minutes
Create a Table
- When you Open the interface, you will run as the user id that provisioned it, for example user999 which is admin, so any tables that are created, by admin, via SQL editor by default will go under Schema user999.
- You can use the UI and select and create tables under certain schemas.
Uninstalling DB2 Warehouse.
- First you will want to release any storage and delete instances to make sure storage is released. Use Delete to do this.
- From the command line:
- Set namespace. My namespace is zen your may be different like default
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen
- OpenShift 3.x
- Do a dry run uninstall to check what will be taken off.
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly db2wh --uninstall-dry-run
- Run the uninstall
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly db2wh
- Go to the Services catalog and verify that Db2 Warehouse is no longer enabled.
Db2 Advanced
Install Db2 Advanced
- The first thing you will want to do is to pick one node that will house Db2 Advanced and add a label.
- Run:
oc get nodes
This will produce a list of nodes. - Run
oc describe node | grep -eHostname: -e 'cpu ' -e 'memory '
Review the output and find the node with the least amount of resources allocated You will be setting a label to create Node Affinity. Db2 OLTP pods will be installed to this particular node. Database will also be provisioned to this node. Sometimes you may need to resize your OpenShift worker pool size to increase capacity. Base on review I will pick node10.95.7.49
as it has the least amount of resources allocated right now.Toms-MBP:bin tjm$ oc describe node | grep -eHostname: -e 'cpu ' -e 'memory ' MemoryPressure False Wed, 10 Jun 2020 16:21:28 -0400 Mon, 08 Jun 2020 10:19:26 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available Hostname: 10.95.7.21 cpu 14941m (94%) 63645m (400%) memory 44715538Ki (74%) 150095560704 (244%) MemoryPressure False Wed, 10 Jun 2020 16:21:29 -0400 Mon, 08 Jun 2020 10:19:13 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available Hostname: 10.95.7.23 cpu 13960m (87%) 39825m (250%) memory 42889746Ki (71%) 106114088960 (172%) MemoryPressure False Wed, 10 Jun 2020 16:21:32 -0400 Mon, 08 Jun 2020 10:16:15 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available Hostname: 10.95.7.49 cpu 10718m (67%) 33863m (213%) memory 24435218Ki (40%) 85963040Ki (143%) MemoryPressure False Wed, 10 Jun 2020 16:21:35 -0400 Mon, 08 Jun 2020 10:21:40 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available Hostname: 10.95.7.6 cpu 11970m (75%) 49570m (312%) memory 30833170Ki (51%) 87313121280 (142%)
- Bind Db2 Advanced and provisioned instances to a specific node, by adding a label of
icp4data=database-db2-oltp
to a node. Select this node according to known resources available. I picked node10.95.7.49
from the last command.oc label node <node name or IP Address> icp4data=database-oltp
- You can dedicate one or more worker nodes to your Db2® database service. Do this before installing the service.
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=darwin or linux export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=darwin or linux or win export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for Db2 Advanced to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly db2oltp
- Deploy Db2 Advanced by running the following:
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly db2oltp
- This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
- The deployed service will look like this from
oc get pods
. The completed pod is a load job which can be deleted.db2oltp-catalog-11530-6c488d895f-jddzn 1/1 Running 0 5m11s db2oltp-catalog-11530-uploadjob-hcsqr 0/1 Completed 0 5m11s
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly db2oltp
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly db2oltp
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
Provision an OLTP Database instance
- Once installed and the
db2oltp-catalog-11530
pod is running or the service tile is marked as available , you can go to the service catalog page with the square with petals icon in upper right. - On the services page, Click the left side filter to go to Datasources to get to Db2 Advanced tile.
- Click the 3 vertical dots on upper left of the tile or Click through the tile then Click Provision Instance.
- On the Configure page keep defaults or adjust if you know you need more. Click Next. NOTE Make sure the Value for node label matches what was set above.
- On the System Storage page, Change Storage Class to ibmc-file-gold-gid ; Adjust the size to reflect the amount needed. Default is 100GB.
- Click Next
- On the User Storage page, Change Storage Class to ibmc-file-gold-gid ; Adjust the size to reflect the amount needed. Default is 100GB.
- Click Next
- On the Backup Storage page, Change Storage Class to ibmc-file-gold-gid ; Adjust the size to reflect the amount needed. Default is 100GB.
- Click Next
- Review the settings. Here you can change the Display name to something more memorable. Click Create.
- Your instance is being created and will be accessible from the Services > Db2 Advanced tile. Also accessed from the Left menu My Instance then Click Provisioned instances
- From Provision Instances , you will see a list of instances. If you left the defaults, the name will be something like Db2 Advanced Edition-1. To get details Click on the instance name. In my case Db2 Advanced Edition-1. Note: You can see a red triangle that states Failed. This is temporary and is most likely the Cloud provision service waiting on a storage volume to come online and available to mount as a persistent volume to map the persistent volume claim.
- Click the horizontal 3 “.” on the right and see the options.
- Open This will open the UI to allow you to work on the database
- Manage Access This lets you control high level ACLs to the database.
- Delete This will delete this particular instance.
Create a Table
- When you Open the interface, you will run as the user id that provisioned it, for example user999 which is admin, so any tables that are created, by admin, via SQL editor by default will go under Schema user999.
- You can use the UI and select and create tables under certain schemas.
Uninstalling DB2 Warehouse.
- First you will want to release any storage and delete instances to make sure storage is released. Use Delete to do this.
- From the command line:
- Set namespace. My namespace is zen your may be different like default
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen
- OpenShift 3.x
- Do a dry run uninstall to check what will be taken off.
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly db2wh --uninstall-dry-run
- Run the uninstall
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly db2wh
- Go to the Services catalog and verify that Db2 Warehouse is no longer enabled.
Installing DataStage service
- Verify you have enough resource capcity to run DataStage. You many need to increase your work pool by a node.
- Create a ds.yaml file to override and set certain storage classes. On ROKS we will be using the default storage classes, but defining them no the less.
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=darwin or linux export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=darwin or linux or win export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for DataStage to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly ds
- Deploy DataStage by running the following:
./cpd-linux --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly ds --override=ds.yaml
- You will need to tab to accept the license.
- This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly ds
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly ds
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
Create a Transformation Project
- From the navigator click Organize > transform data. This will bring you into the Data Flow Designer in a projects view.
- If you do not see Organize > transform data, check your setting and profile in the upper right under the user icon. Click Profile and Setttings > Permissions then verify that you have following two permissions:
- Integrate and transform data
- View governance artifacts
If not the users will need to have Data Engineer role.
- Go to the Navigator on the left and scroll down to Administer Click on Manage Users.
- On the right of the list of users, you will see a pencil, which indicates edit.
- Click the pencil for the user you desire to edit.
- Choose Data Engineer to get the appropriate permissions.
- From here you can create a new project.
- Click + Create then provide a Project name.
- Click Create button. This will take a minute or two.
- Click the Clog and there will be 4 options.
- Adjust Compute Nodes //This allows you to scale nodes for a parallel job.
- Configuration //Allows you to tweak service configurations
- Multi-Cloud Kafka brokers (might be grayed out)
- Server //Connections to Github and whether to use Machine Learning (On by default)
- Click on dstage1 to see how this works.
- Click on + Create, you should see a Parallel job and Sequence job
- Click ether job and a palette of nodes are available to you to build your job. These nodes are specific to the type of job.
- Across the top, you should see another cog. This allows you to add Smart Palatte to the options. This will start prompting you with potential options.
- Across the very top, is where you will add Connections, Table Definitions, Parameter Sets, Jobs and the current Job_1 that you were just creating.
Uninstalling DataStage.
- First you will want to release any storage and delete instances to make sure storage is released. Use Delete to do this.
- From the command line:
- Set namespace. My namespace is zen your may be different like default
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen
- OpenShift 3.x
- Do a dry run uninstall to check what will be taken off.
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly ds --uninstall-dry-run
- Run the uninstall
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly ds
- Go to the Services catalog and verify that DataStage is no longer enabled.
Installing Analytics Dashboards
Analytics Dashboards gives you a quick way to visualize your data. This is not full blown Cognos Analytics for Cloud Pak for Data* nor on premises version. Understand the current differences here
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=darwin or linux export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=darwin or linux or win export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for Analytics Dashboards to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly cde
- Deploy Analytics Dashboards by running the following:
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly cde
- You will need to tab to accept the license.
- This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly cde
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly cde
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
Uninstalling Analytics Dashboards
- From the command line:
- Set namespace. My namespace is zen your may be different like default
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen
- OpenShift 3.x
- Do a dry run uninstall to check what will be taken off.
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly cde --uninstall-dry-run
- Run the uninstall
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly cde
- Go to the Services catalog and verify that Analytics Dashboards is no longer enabled.
Installing Analytics Engine (Spark Clusters)
If you are using Data Refinery and you have to prep files larger than 100MB, then you will want to install the Analytics Engine to be able to select a different runtime than Data Refinery XS. This is the service to install if you want to use Spark with Watson Studio.
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=darwin or linux export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=darwin or linux or win export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for Analytics Engine to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly spark
- You will need an when installing the Spark assembly on a OCP 4.3 cluster. This is not needed for 3.11. Use this spark-ocp43-override.yaml
- Deploy Analytics Engine by running the following:
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly spark --override spark-ocp43-override.yaml
- You will need to tab to accept the license.
- This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly spark
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly spark
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
Provision Analytics Engine instance
coming soon Provision the instance
Resource constraints
coming soon Governing the about of resources in an instance
Uninstalling Analytics Engine
- From the command line:
- Set namespace. My namespace is zen your may be different like default
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen
- OpenShift 3.x
- Do a dry run uninstall to check what will be taken off.
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly spark --uninstall-dry-run
- Run the uninstall
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly spark
- Go to the Services catalog and verify that Analytics Engine is no longer enabled.
##Cognos Analytics
Installing Cognos Analytics
Understand the current differences here
- Run env to verify that the following variables are exported. For OS_NAME Pick one no brackets Example:
export OS_NAME=linux
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for Cognos to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly ca
- Deploy Cognos Analytics by running the following:
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly ca
- You will need to tab to accept the license.
- This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly ca
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly ca
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
Provision Cognos Analytics instance
- Preparing Db2 Advanced Database to make a connection that Cognos Analytics can used
- Collect the details of the provisioned database. This will be used for the environment variables and when creating the global connection.
Deployment id db2oltp-xxxxxxxxxxxxx Username userxxx Password xxxxxxxxxxxxxxxxxxxxxx JDBC URLjdbc:db2://HOST:PORT/BLUDB
NOTE: If you do not run through the following steps to prepare the Database, your provision will fail.
- From a terminal window. Run the following to set up the environment to execute the Database updates.
export NAMESPACE=zen export DB2USERNAME=<USERNAME> export DB2PASSWORD=<PASSWORD> export DB2DEPLOYMENTID=<DEPLOYMENTID>
- Connect to the DB2 pods
export CMD="env DB2USERNAME=$DB2USERNAME DB2PASSWORD=$DB2PASSWORD bash" oc exec -ti $DB2DEPLOYMENTID-db2u-0 -n $NAMESPACE -- $CMD
- Run the following command to update the data base values from within the pod.
cd /mnt/blumeta0/home/db2inst1/sqllib . ./db2profile
db2 CONNECT to BLUDB user $DB2USERNAME using $DB2PASSWORD; db2 UPDATE DATABASE CONFIGURATION USING APPLHEAPSZ 1024 DEFERRED; db2 UPDATE DATABASE CONFIGURATION USING LOCKTIMEOUT 240 DEFERRED; db2 CREATE BUFFERPOOL CMDB_08KBP IMMEDIATE SIZE 1000 PAGESIZE 8K; db2 CREATE BUFFERPOOL CMDB_32KBP IMMEDIATE SIZE 1000 PAGESIZE 32K; db2 CREATE SYSTEM TEMPORARY TABLESPACE TSN_SYS_CMDB IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 32K BUFFERPOOL CMDB_32KBP; db2 CREATE USER TEMPORARY TABLESPACE TSN_USR_CMDB IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8K BUFFERPOOL CMDB_08KBP; db2 CREATE REGULAR TABLESPACE TSN_REG_CMDB IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8K BUFFERPOOL CMDB_08KBP; db2 DROP TABLESPACE USERSPACE1; db2 CREATE SCHEMA db2COGNOS AUTHORIZATION $DB2USERNAME; db2 ALTER BUFFERPOOL ibmdefaultbp size 49800;
- Create a connection that will be used for Cognos Analytics.
- From the main menu with 3 horizontal bars, click on Connections.
- Provide a Name, I used Cognosdb
- Provide a Description (optional)
- Select a Connection Type, Select Db2. This will expand to give more options.
- You will focus on the following. You collected this at the top. - Host - This comes from the JDBC URL. It is the IP address - Port - This comes from the JDBC URL. It is the number after the IP: - Database - This comes from the JDBC URL. It is the number after the IP:PORT/ It is generally BLUDB - Username - Probably user999 - Password - Same as collected above.
- Click the Test connection button to verify that it works properly.
- Click Create
- From the Services page, scroll to Cognos Analytic and click the tile
- in the upper right there is a button to Provision Instance
Uninstalling Cognos Analytics
- From the command line:
- Set namespace. My namespace is zen your may be different like default
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen
- OpenShift 3.x
- Do a dry run uninstall to check what will be taken off.
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly ca --uninstall-dry-run
- Run the uninstall
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly ca
- Go to the Services catalog and verify that Cognos Analytics is no longer enabled.
Watson Knowledge Catalog
Installing Watson Knowledge Catalog service
- Because of all the Kernel changes, I generally suggest installing Watson Knowledge Catalog using the template during the control plane installation.
- Verify you have enough resource capacity to run Watson Knowledge Catalog. You many need to increase your work pool by a node.
- Create a secret in the kube-system project or namespace for the norootsquash.yaml will execute properly. **Note: **All norootsquash pods in Kube-system namespace will restart using the new parameters.
oc project kube-system
- Get the apikey from the repo.yaml file and use your accounts email address.
oc create secret docker-registry cpregistrysecret --docker-username=cp --docker-password= API KEY used in repo.yaml --docker-server=cp.icr.io/cp/cpd --docker-email= your email address
- Adjust the kernel parameters. Save the files to the directory with
cpd-<os>
command prior to executing or running the command.- Run oc create -f wkc-tune-43.yaml command to tune the kernel parameters.
- Run oc apply -f setkernelparameters.yaml -n kube-system
- Run oc apply -f norootsquash.yaml -n kube-system
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=darwin or linux export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=docker-registry.default.svc:5000
- OpenShift 4.x
export OS_NAME=darwin or linux or win export NAMESPACE=zen export STORAGE_CLASS=ibmc-file-gold-gid export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\}) export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
- OpenShift 3.x
- Set the security aspects for Watson Knowledge Catalog to install properly
./cpd-${OS_NAME} adm --repo ../repo.yaml --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly wkc
- Deploy Watson Knowledge Catalog by running the following: Download the override-nginx.yaml file for use in the install command.
./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --override override-nginx.yaml --assembly wkc
- You will need to tab to accept the license.
- This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
- Verify the installation
./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly wkc
- Check for patches
./cpd-${OS_NAME} status --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly wkc
- If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:
Post install tasks (To Do’s for Tom to validate)
Uninstalling Watson Knowledge Catalog
- From the command line:
- Set namespace. My namespace is zen your may be different like default
- Run env to verify that the following variables are exported
- OpenShift 3.x
export OS_NAME=[darwin, linux] export NAMESPACE=zen
- OpenShift 4.x
export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin** export NAMESPACE=zen
- OpenShift 3.x
- Do a dry run uninstall to check what will be taken off.
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly wkc --uninstall-dry-run
- Run the uninstall
./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly wkc