IBM MQ Uniform Clusters Demo
- 1 - Review Demo Scenario
- 2 - OpenShift Installation
- 3 - Access your OpenShift cluster and install the command line
- 4 - Clone Repositories
- 5 - Set Context
- 6 - Install Foundational Services
- 7 - Deploy the Platform UI
- 8 - Deploy the Enterprise Messaging (MQ)
- 9 - Copy the JAR file
1 - Review Demo Scenario
DEMO OVERVIEW | |
---|---|
Scenario overview | Uniform clusters are a specific pattern of an IBM MQ cluster that provides a highly available and horizontally scaled small collection of queue managers. These queue managers are configured almost identically, so that an application can interact with them as a single group. This demo will walk you through the deployment process of a MQ Uniform Cluster where each queue manager uses the Native HA functionality to provide high availability. |
Demo products | Cloud Pak for Integration (IBM MQ) |
Demo capabilities | Message Queue; Uniform Clusters; |
Demo intro slides | Download the Introduction and Overview slides here. |
Demo script | This demo script has multiple tasks that each have multiple steps. In each step, you have the details about what you need to do (Actions), what you can say while delivering this demo step (Narration), and what diagrams and screenshots you will see. This demo script is a suggestion, and you are welcome to customize based on your sales opportunity. Most importantly, practice this demo in advance. If the demo seems easy for you to execute, the customer will focus on the content. If it seems difficult for you to execute, the customer will focus on your delivery. |
Prerequisites | You need to have installed in your machine: - oc CLI v4.6+. - github CLI - Bash Shell - JAVA v8+ And you also need an account in the folllowing email service to configure your CP4I environment: - mailtrap |
Demo authors | Joel Gomez and Rafael Osorio |
How to get support | Contact rosorio@br.ibm.com or joel.gomez@us.ibm.com regarding issues with running this demo use case or installing the Cloud Pak for Integration. Open a support case at IBM Technology Zone Help regarding issues with reserving and provisioning Tech Zone environments. |
2 - OpenShift Installation
IBM Cloud Pak for Integration brings together IBM’s market-leading middleware capabilities to support a broad range of integration styles and use cases. With powerful deployment, lifecycle management, and production services running on Red Hat OpenShift, it enables clients to leverage the latest agile integration practices, simplify the management of their integration architecture, and reduce cost. Cloud Pak for Integration demands an OpenShift cluster.
Follow the steps below to provision a Red Hat OpenShift Container Platform cluster on VMware on IBM Cloud.
2.1 To request an OpenShift Cluster on VMware on IBM Cloud, go here and complete the form with the follow details.
Field | Value |
---|---|
Purpose | If you are doing the L4 course, select Practice/Self Enablement. If you are delivering a PoC, select:Proof-of-Technology and inform the Sales opportunity. |
Purpose Description | If you are doing the L3 course, enter: MQ L3 Course. If you are delivering a POC, enter the PoC details. |
Preferred Geography | You are welcome to select the preferred Geography |
Field | Value |
---|---|
OpenShift Version | 4.16 |
Storage | ODF - 2 TB |
Worker Node Count | 5 |
Worker Node Flavor | 16 vCPU x 64 GB - 100 GB ephemeral storage |
2.2 Agree with the TechZone Terms and Conditions (A) and click Submit (B).
2.3 You will receive an email confirming the instance is provisioning.
2.4 You will receive a second email once the environment is provisioned. You should expect this to take between 30 and 120 minutes. Now the status update changed to Ready. Click on Reservation ID to open the details page of your new reservation environment.
2.5 Copy your Cluster Admin Username (A) and Cluster Admin Password (B). Copy the OCP Console link (C).
3 - Access your OpenShift cluster and install the command line
In this section, you access your OpenShift cluster and install the OpenShift command line tool.
3.1 In a Browser, open the OCP Console link and paste the Cluster Admin Username (A) and Password (B) copied in the previous step and click Log in (C).
3.2 Great, you are almost ready for the demo. Last but not least important, let’s copy login command to access the cluster by CLI. On the top right, click your username (A) and select Copy login command (B).
3.3 Click Display Token.
3.4 Copy the Log in with this token command and paste on a terminal window.
That is it! Now you are ready for the Cloud Pak for Integration installation. Take a breath and let’s start to install the Pak.
4 - Clone Repositories
To use this guide you will need to clone the demo repo to your workstation. Let’s do it now!
4.1 Open a terminal window and run the command below.
git clone https://github.com/gomezrjo/cp4i-demo-yl.git
4.2 Open the cp4i-demo-yl folder.
cd cp4i-demo-yl
5 - Set Context
Based on where you have deployed your OCP cluster you will need to set up some environment variables to inform the installation script about your environment. Let’s do it here!
5.1 First, you need to define an environment variable to inform CP4I version.
export CP4I_VER=16.1.0
5.2 Now let’s set the OCP type based on the storage classes in your cluster.
export OCP_TYPE=ODF
Note:
If you are using ROKS cluster, use export OCP_TYPE=ROKS.
5.3 Set mailtap credentials.
export MAILTRAP_USER=<my-mailtrap-user>export MAILTRAP_PWD=<my-mailtrap-pwd>
5.4 If you have provisioned your OCP cluster in Tech Zone you can use the following script to set the proper default storage class.
scripts/99-odf-tkz-set-scs.sh
5.5 Your cluster will also need access to pull the container software required to deploy the Cloud Pak. Your Entitlement Key is used to grant access. You can download you entitlement key from My IBM. Click Copy.
5.6 The IBM Entitled Registry contains software images for the capabilities in IBM Cloud Pak® for Integration. To allow the Cloud Pak for Integration operators to automatically pull those software images, you must first obtain your entitlement key, then add your entitlement key in a pull secret. Replace the my-key with your IBM entitlement key.
export ENT_KEY=<my-key>
5.7 Now, you need a namespace where you will deploy the different capabilities.
scripts/02a-cp4i-ns-key-config.sh
6 - Install Foundational Services
The IBM Cloud Pak foundational services operator is no longer installed automatically. Install this operator manually if you need to create an instance that uses identity and access management. That is exactly, what you will do in this section.
6.1 First we need to have a certificate manager, otherwise, the IBM Cloud Pak foundational services operator installation will not complete. Let’s do it!
oc apply -f resources/00-cert-manager-namespace.yamloc apply -f resources/00-cert-manager-operatorgroup.yamloc apply -f resources/00-cert-manager-subscription.yaml
Confirm the subscription has been completed successfully before moving to the next step running the following command.
SUB_NAME=$(oc get deployment cert-manager-operator-controller-manager -n cert-manager-operator --ignore-not-found -o jsonpath='{.metadata.labels.olm\.owner}');if [ ! -z "$SUB_NAME" ]; then oc get csv/$SUB_NAME -n cert-manager-operator --ignore-not-found -o jsonpath='{.status.phase}';fi;echo
Wait for a response of Succeeded
.
6.2 Install the Postgress SQL Catalog Source.
oc apply -f catalog-sources/${CP4I_VER}/01-postgress-sql-catalog-source.yaml
Confirm the catalog source has been deployed successfully before moving to the next step running the following command.
oc get pods -n openshift-marketplace | grep postgresql
Wait for a response of READY
.
6.3 Install the Common Services Catalog source.
oc apply -f catalog-sources/${CP4I_VER}/02-common-services-catalog-source.yaml
Confirm the catalog source has been deployed successfully before moving to the next step running the following command.
oc get catalogsources opencloud-operators -n openshift-marketplace -o jsonpath='{.status.connectionState.lastObservedState}';echo
Wait for a response of READY
.
6.4 Create the Common Services namespace.
oc new-project ibm-common-services
6.5 Install the Foundational Services operator (former Common Services).
oc apply -f subscriptions/${CP4I_VER}/00-common-service-subscription.yaml
Confirm the operator has been deployed successfully before moving to the next step running the following command.
SUB_NAME=$(oc get deployment/ibm-common-service-operator -n openshift-operators --ignore-not-found -o jsonpath='{.metadata.labels.olm\.owner}');if [ ! -z "$SUB_NAME" ]; then oc get csv/$SUB_NAME --ignore-not-found -o jsonpath='{.status.phase}';fi;echo
Wait for a response of Succeeded
.
7 - Deploy the Platform UI
Deploying the Platform UI allows you to deploy and manage instances from a central location.
7.1 First, let’s install Platform UI Catalog source.
oc apply -f catalog-sources/${CP4I_VER}/03-platform-navigator-catalog-source.yaml
Confirm the catalog source has been deployed successfully before moving to the next step running the following command.
oc get catalogsources ibm-integration-platform-navigator-catalog -n openshift-marketplace -o jsonpath='{.status.connectionState.lastObservedState}';echo
Wait for a response of READY
.
7.2 Install the Platform UI Operator.
oc apply -f subscriptions/${CP4I_VER}/01-platform-navigator-subscription.yaml
Confirm the operator has been deployed successfully before moving to the next step running the following command.
SUB_NAME=$(oc get deployment ibm-integration-platform-navigator-operator -n openshift-operators --ignore-not-found -o jsonpath='{.metadata.labels.olm\.owner}');if [ ! -z "$SUB_NAME" ]; then oc get csv/$SUB_NAME --ignore-not-found -o jsonpath='{.status.phase}';fi;echo
Wait for a response of Succeeded
.
7.3 Deploy a Platform UI instance.
oc apply -f instances/${CP4I_VER}/common/01-platform-navigator-instance.yaml
Confirm the instance has been deployed successfully before moving to the next step running the following command.
oc get platformnavigator cp4i-navigator -n tools -o jsonpath='{.status.conditions[0].type}';echo
Wait for a response of READY
.
7.4 Once the Platform UI instance is up and running get the access info.
scripts/03b-cp4i-access-info.sh
7.5 Open the Platform UI URL and log in. Note the password is temporary and you will be required to change it. Take note of your new password, you will use it multiple times.
Record the credentials to a notepad for reference later.
7.6 Open the Platform UI URL with a web browser and log in. Note the password is temporary and you will be required to change it. Take note of your new password, as you will use it multiple times throughout the lab.
8 - Deploy the Enterprise Messaging (MQ)
8.1 Install the Enterprise Messaging (MQ) Catalog Source.
oc apply -f catalog-sources/${CP4I_VER}/09-mq-catalog-source.yaml
Confirm the catalog source has been deployed successfully before moving to the next step running the following command.
oc get catalogsources ibmmq-operator-catalogsource -n openshift-marketplace -o jsonpath='{.status.connectionState.lastObservedState}';echo
Wait for a response of READY
.
8.2 Install the MQ Operator.
oc apply -f subscriptions/${CP4I_VER}/06-mq-subscription.yaml
Confirm the operator has been deployed successfully before moving to the next step running the following command.
SUB_NAME=$(oc get deployment ibm-mq-operator -n openshift-operators --ignore-not-found -o jsonpath='{.metadata.labels.olm\.owner}');if [ ! -z "$SUB_NAME" ]; then oc get csv/$SUB_NAME --ignore-not-found -o jsonpath='{.status.phase}';fi;echo
Wait for a response of Succeeded
.
8.3 Set MQ namespace environment variable.
export MQ_NAMESPACE=cp4i-mq
8.4 Create certificates and extra route.
scripts/10a-qmgr-pre-config.sh
8.5 Create configmap with MQ configuration.
oc apply -f resources/03c-qmgr-mqsc-config.yaml
8.6 Deploy MQ Queue Manager instance.
scripts/10b-qmgr-inst-deploy.sh
Confirm the instance has been deployed successfully before moving to the next step running the following command.
oc get queuemanager qmgr-demo -n tools -o jsonpath='{.status.phase}';echo
Wait for a response of Running
.
8.7 Create CCDT.
scripts/10c-qmgr-post-config.sh
9 - Copy the JAR file
For demo purposes we have created the application for you. The application is the file jmsproducer-jgr-demo.jar, and it is available in the extra folder. You are welcome to copy to another folder in your demo machine.
Another possibility is to follow the steps below to download the jar file again.
9.1 Open the URL below.
https://github.com/ibm-integration/learninghub/blob/main/static/jmsproducer-jgr-demo.jar
9.2 Then click on the Download raw file icon.
You will use this JAR file during your demonstration.
Great! You are ready to present the demo! Take a breath and happy selling!