Deploying Helm Charts
In the following helm install
command, we are using releasename
as the value for the helm release name
. A release name is an arbitrary name that you choose for your
deployment. It must be all lowercase. All kubernetes objects in your deployment will be prefixed with whatever value you provide.
For now you could just use releasename
and for more information see the helm documentation.
helm install releasename local-development/spm
The helm install
command installs the Helm Charts in the order in which they were loaded in the repository, with all the values defined in the files.
However, as described in Setting up the Docker® context, you can override the configuration value by running the following shell script:
helm install releasename local-development/spm -f override-values.yaml
Sample override-values.yaml
files
The following three override files for Minikube, AKS, and CRC are intended to be used with the config options listed in the Configuration Reference topic. The minimum details that need to be filled out for a successful deployment are the registry, database, and ingress details.
- Minikube
- CodeReady Containers
- Azure Kubernetes Service
- Initial Tuning Settings
- Can be used for AKS or OpenShift
The license agreements for the IBM® WebSphere® Liberty and IBM WebSphere MQ images must be accepted in order to proceed with the deployment of these elements. This can be done by setting the global.license
property to accept
.
The respective license agreements can be reviewed by running the following commands:
# IBM WebSphere Libertydocker run --rm -e LICENSE=view ibmcom/websphere-liberty:24.0.0.6-full-java8-ibmjava-ubi# IBM WebSphere MQdocker run --rm -e LICENSE=view ibmcom/mq:9.1.3.0
Status of the system
The helm install
command shows all the Kubernetes objects and also runs the Merative Social Program Management (SPM) containers.
You can track the status of the SPM containers on real time by running the following command:
kubectl get pods -wNAME READY STATUS RESTARTS AGEreleasename-apps-curam-consumer-595c8bf95f-zn2l5 0/1 Init 3/4 0 5mreleasename-apps-curam-producer-6b5569c4ff-nvxtd 1/1 Running 0 5mreleasename-apps-rest-consumer-85b4865b9d-wr6hj 0/1 Init 3/4 0 5mreleasename-apps-rest-producer-cd8fdbbbf-j2mjj 0/1 Init 3/4 0 5mreleasename-uawebapp-7cdd64987-qx8l8 1/1 Running 0 5mreleasename-web-67697ffb8b-fdsk2 1/1 Running 0 5m
The command lists the pods and their status, where each status change is on a new line.
Some of the pods have initialization steps, so they are not shown until the steps are completed.
The output of the kubectl get pods
command provides the names of the pods that you can use to substitute for podname
in the following example commands.
For example, the Liberty pod that contains SPM code is a name that uses a pattern of: releasename-apps-curam-
.
You can also describe a pod by running the following command:
kubectl describe pod/pod name
You can also read the log when the status is running
, by running the following command:
kubectl logs -f pod/podname
Accessing the application
To access the application, a URL is provided to access the pod within the cluster. This access is provided using Ingress resources on Kubernetes, and Routes resources on OpenShift.
Example URLs:
https://minikube.local/Curam
https://spm-ocp.apps-crc.testing/Curam
https://spm.<cluster_name>-<hash>-0000.<region>.containers.appdomain.cloud/Curam