This article will help you to deploy the WebFOCUS Container Edition using shipped images onto the single node cluster created using Openshift on Linux or Mac.
Please note that WFCE deployment on Openshift cluster on Mac is NOT certified and recommended for production usage.
Pre-requisite: To deploy the WebFOCUS Container Edition onto the cluster you will need software/tools - Helm, Helmfile, and Docker.
Let's get started...
Deployment Steps
1. Download Openshift local installer from:
https://console.redhat.com/openshift/create/local
2. Install openshift local installer - crc-linux-amd64.tar.xz (linux) / crc-macos-installer.pkg (mac)
3. Setup openshift cluster using terminal
crc setup
4. Update openshift cluster configuration to allocate more cpu, memory and diskspace
crc config set memory 16000 crc config set cpus 6 crc config set disk-size 80
5. Once completed start cluster instance (this might take 10-15 mins)
crc start
Provide pull secret (one time activity copy from https://console.redhat.com/openshift/create/local)
Once created user should get below details:
6. Update docker configuration to allow push images to insecure openshift local registry
For Linux:
vi ~/etc/docker/daemon.json
Add below entry
{ "insecure-registries" : [ "default-route-openshift-image-registry.apps-crc.testing:443" ] }
And then restart docker (for linux)
sudo systemctl daemon-reload sudo systemctl restart docker
For Mac:
Update settings using docker desktop and restart
7. Login to Openshift cluster as a developer user
eval $(crc oc-env) oc login -u developer https://api.crc.testing:6443
8. Create new openshift project
oc new-project webfocus
9. Download IBI_wfce_images_1.3.0.tar and IBI_wfce_1.3.0.tar from eDelivery
Load docker images
docker load -i IBI_wfce_images_1.3.0.tar
Once completed verify using
docker images
Should show below list
10. Tag and Push images to crc registry
docker login -u `oc whoami` -p `oc whoami --show-token` default-route-openshift-image-registry.apps-crc.testing:443 docker image tag ibi2020/webfocus:wfs-9.3-1.3.0 default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfs-9.3-1.3.0 docker image push default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfs-9.3-1.3.0 docker image tag ibi2020/webfocus:wfs-etc-9.3-1.3.0 default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfs-etc-9.3-1.3.0 docker image push default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfs-etc-9.3-1.3.0 docker image tag ibi2020/webfocus:wfc-9.3-1.3.0 default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfc-9.3-1.3.0 docker image push default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfc-9.3-1.3.0 docker image tag ibi2020/webfocus:cm-9.3-1.3.0 default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:cm-9.3-1.3.0 docker image push default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:cm-9.3-1.3.0
Verify once completed using below command:
oc get imagestreams repo -n webfocus -o jsonpath='{range .status.tags[*]}{.tag}{"\n"}'
Expected output is
11. Untar IBI_wfce_1.3.0.tar
tar -xvf IBI_wfce_1.3.0.tar
Above command will extract the IBI_wfce_1.3.0 directory for all the scripts, Helmfile, env, etc files required by WebFOCUS CE.
12. Deploy infra
cd IBI_wfce_1.3.0/scripts/helmfile/infra source ../export-defaults.sh helmfile --state-values-file=../environments/oc-default.yaml.gotmpl sync
Verify infra pods are up and running using command
oc get pods -n webfocus
Expected output as follows:
13. Remove imagePullSecret (optional step - only needed if internal registry is used)
edit scripts/helmfile/environments/dev-wf.integ.yaml.gotmpl and remove all instances of
imageInfo: imagePullSecrets: - name: ibi-docker-hub
Once removed file would look like:
appserver: # imagePullSecrets: # - name: ibi-docker-hub autoscaling: enabled: true #edaetc: # imagePullSecrets: # - name: ibi-docker-hub edaserver: # imagePullSecrets: # - name: ibi-docker-hub service: type: NodePort #sessionAffinity: ClientIP autoscaling: enabled: true clm: # imagePullSecrets: # - name: ibi-docker-hub service: annotations: {} type: NodePort autoscaling: enabled: false cachemanager: # imagePullSecrets: # - name: ibi-docker-hub service: type: NodePort autoscaling: enabled: true #etcd: # image: # pullSecrets: # name: ibi-docker-hub swego: enabled: true storage: accessMode: ReadWriteOnce global: # imageInfo: # imagePullSecrets: # - name: ibi-docker-hub prometheusAdapter: metricsServer: false prometheus: server: service: type: NodePort
14. Update Customer id and EUA in below file
IBI_wfce_1.3.0/scripts/helmfile/environments/wf.integ.yaml.gotmpl
Also, update license key in IBI_wfce_1.3.0/scripts/license/license.txt
Note: For customer id and license key contact Admin or ibi Support team.
15. Deploy WebFOCUS
Execute below command from directory: IBI_wfce_1.3.0/scripts/helmfile
helmfile -e dev --state-values-file=environments/oc-default.yaml.gotmpl --state-values-set global.imageInfo.image.repository=default-route-openshift-image-registry.apps-crc.testing/webfocus/repo sync
Verify using pod status
oc get pods -n webfocus
You can expect output like one below
16. Create Route to access apperver
oc expose svc appserver
View route:
oc get route -n webfocus
Now, access WebFOCUS
http://appserver-webfocus.apps-crc.testing/webfocus/
Credentials: secret/terces
Troubleshooting
1. Appserver goes in CrashLoopBackOff ?
Appserver might not have enough resources so assign more resources. Also, try increasing initialDelaySeconds for livenessProbe and readinessProbe.
oc edit sts appserver -n webfocus
Example:
2. 500 Gateway Timeout error
Increase the timeout on the Openshift route to 2 minutes
https://docs.openshift.com/container-platform/3.11/install_config/configuring_routing.html
oc annotate route appserver --overwrite haproxy.router.openshift.io/timeout=120s
Thank you for your interest in WebFOCUS CE and we hope this documentation proves useful to you!
For any further assistance feel free to contact ibi Support team.
- 4
- 1
Recommended Comments
There are no comments to display.