Cloud Pak for Integration

 View Only

Cloud Pak for Integration 2021.1 on IBM Cloud Satellite

By James Hewitt posted Tue May 25, 2021 08:22 AM

  
08WbbenTR5a8kAsdLwjg_cp4i-banner-T.jpg I was asked recently if Cloud Pak for Integration worked on IBM Cloud Satellite. The short answer is yes, the long answer is that IBM Cloud Satellite is an OpenShift platform, and Cloud Pak for Integration runs on any OpenShift platform, so of course yes!

As for why you might want to do this - IBM Cloud Satellite allows you to run an OpenShift cluster that is managed in your IBM Cloud account, where the nodes are in your own infrastructure, either your own public cloud account or your own datacenter. This configuration allows you to run IBM's world-class integration suite (Cloud Pak for Integration) alongside your other workloads without needing to manage your own OpenShift installation.

The main considerations for installing the OpenShift cluster for Cloud Pak for Integration are:
  • Is the version recent enough? IBM Cloud Satellite supports up to OpenShift 4.6 (at time of writing), so that's good.
  • Is the right storage available? I am going to use an IBM Cloud Satellite cluster on AWS for this demo, and the AWS EBS and AWS EFS storage options will work for a standard install.
  • Does the cluster have capacity? I used six workers of 8 CPUs and 32GB memory each across three availability zones, but its possible on smaller clusters too.
The overall steps are:
  1. Configure your Satellite cluster: https://cloud.ibm.com/docs/satellite?topic=satellite-getting-started
  2. Configure your storage. I was using AWS so used the IBM Cloud Satellite storage templates to do this for me
    1. Elastic Block Store for File storage: https://cloud.ibm.com/docs/satellite?topic=satellite-config-storage-ebs
    2. Elastic File Store for File storage: https://cloud.ibm.com/docs/satellite?topic=satellite-config-storage-efs
  3. Log on to the cluster. My cluster is in a private VPC with no public endpoints, so I created a tiny jump box in the VPC, and used ssh -D 8080 <jump box> to provide a SOCKS proxy. I then used chromium-browser --proxy-server="socks5://localhost:8080" to start a browser that could log into the cluster through IBM Cloud.
  4. Install Cloud Pak for Integration - the Express Installation docs are suitable here: https://www.ibm.com/docs/en/cloud-paks/cp-integration/2021.1?topic=installing-express-installation-cloud-pak-integration
I made a short video to show the process:


In the video I talk about the EFS provisioner used in the IBM Cloud Satellite storage templates being a static provisioner, which means by default you would need to manually provision the file-based storage PVs for the IBM Automation Platform pods. However, when I checked, their latest template installs a driver that supports dynamic provisioning but just doesn't configure it. This meant I could add a new storage class for dynamic provisioning to make the install easier.

The storage class definition looks like this:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: aws-efs-sc-dynamic
provisioner: efs.csi.aws.com
parameters:
  provisioningMode: efs-ap
  fileSystemId: <YOUR FS ID>
  directoryPerms: "777"
  gidRangeStart: "1000" # optional
  gidRangeEnd: "2000" # optional
  basePath: "/dynamic_provisioning"
I provided directoryPerms as 777 so that the pod would be easily able to write to the EFS filesystem. As this EFS is only used for this cluster, and it's only a demo, I didn't need to go further to secure it.
0 comments
60 views

Permalink