Installation of Cloud Pak for Integration
This is the blog based on my experience installing Cloud Pak for Integration v2019.4 on OKD v3.11
There are 2 methods of installation, using the downloaded package or using the entitled registry. We need to have the registry key in order to be able to use the entitled registry. Obtain a key from here: https://myibm.ibm.com/products-services/containerlibrary (choose Cloud Pak for Integration)
We have to make sure the OKD cluster meets the minimum system requirements to install Cloud Pak for Integration.
https://www.ibm.com/support/knowledgecenter/SSGT7J_19.4/install/sysreqs.html
Step 1 — Prepare your Boot Node
Boot node is any workstation of VM. I use CentOS in this case
1-1 Install Docker
1–2 Install OC cli
Download from https://mirror.openshift.com/pub/openshift-v4/clients/oc/latest/
1–3 Download the ibm-cp-int-2019.4.x-online.tar.gz file from IBM Passport Advantage or IBM Fix Central https://www.ibm.com/support/fixcentral/
Find product Cloud Pak for Integration and download ibm-cp-int-2019.4.x-online.tar.gz
1–4 Extract the downloaded online installer
# tar xvf ibm-cp-int-2019.4.x-online.tar.gz
1–5 Load the docker images
# sudo docker load -i installer_files/cluster/images/icp-inception-3.2.2.tgz
1–6 Update the config.yaml in installer_files/cluster/config.yaml
Update the nodes information to install Cloud Pak nodes, typically we use worker nodes of OCP
cluster_nodes:
master:
- your-openshift-dedicated-node-to-deploy-icp-master-components
proxy:
- your-openshift-dedicated-node-to-deploy-icp-proxy-components
management:
- your-openshift-dedicated-node-to-deploy-icp-management-components
Update the docker key to access the online entitled registry
docker_password: paste-your-entitled-key-here
Update the login information. You may disable the password enforcement rule to
password_rules:
- '(.*)'
Update admin password
default_admin_password: your-admin-password-here
Step 2— Install your Openshift Cluster
Follow the installation guide from OKD website https://docs.okd.io/3.11/install/running_install.html
Step 3— Setup storage for Openshift
3–1 Create an NFS share from a server. Follow this guide
https://www.howtoforge.com/nfs-server-and-client-on-centos-7
3–2 Create PV 20GB
Create file pvnfs.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv0001
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
nfs:
path: /nfs/share
server: 999.999.999.999
persistentVolumeReclaimPolicy: Recycle
storageClassName: managed-nfs-storage
Create the pv
# oc create -f pvnfs.yaml
Step 4— login to OCP using CLI
4–1 Login to openshift
oc login https://999.999.999.999:8443 -u admin -p your-password
4–2 Copy the kubeconfig
oc config view --minify=true --flatten=true > kubeconfig
Step 5— Run the installation
5–1 cd to the cluster directory
# cd installer_files/cluster
5–2 Run the installation
sudo docker run -t --net=host -e LICENSE=accept -v $(pwd):/installer/cluster:z -v /var/run:/var/run:z -v /etc/docker:/etc/docker:z --security-opt label:disable ibmcom/icp-inception-amd64:3.2.2 addon
After the installation, take note of the URL of the Cloud Pak installed on OpenShift
For installation on OCP 3.11, the installation will fail with the error message of Error: validation failed: unable to recognize “”: no matches for kind “Tuned” in version “tuned.openshift.io/v1”
Steps to fix:
- Create docker registry secret from cli
# kubectl create secret docker-registry prod-secret --docker-username=cp --docker-password=<entitlement-key> --docker-server=cp.icr.io
2. Login to Cloud Pak using the password you defined in config.
3. Go to Catalog → ibm-icp4i-prod (IBM-entitled-chart)
4. Configure the Helm Chart
Give the chart a name and specify the namespace. Enter prod-secret for image pull secret
Change the mechanism to Daemonset (OpenShift 3.11)
4. Click Install
5. You may see your Helm installation from menu
6. Get the URL of your Cloud Pak for Integration
echo "https://$(kubectl get route icpi -n integration -o jsonpath="{.spec.host}")"
Your Cloud Pak for Integration Navigator is up and running and you can deploy the component you need