Preparing Helm Charts
The spm-kubernetes repository provides the following Helm Charts:
- apps: defines how to deploy the IBM® WebSphere® Liberty images with Merative Social Program Management (SPM).
- batch: defines the batch image configuration.
- uawebapp: defines how to deploy the Universal Access (React) application.
- web: defines how to deploy the static content image for SPM (
Curam
image only). - mqserver: defines the IBM WebSphere MQ image configuration.
- xmlserver: defines the xmlserver container configuration.
- spm: an umbrella chart to contain all the other charts.
The charts use a templating mechanism to create the YAML file that is used by Kubernetes.
For this reason, the main configuration values are stored for each chart in a values.yaml
file in the main folder of the charts.
The values can also be overwritten by the spm:*
umbrella chart or by a provided override file during deployment as described in Deploying Helm Charts.
YAML is a human-readable structured data format. It provides powerful configuration settings, without having to learn a more complex code type like CSS, JavaScript, or PHP.
Preparing to run the Helm Charts
Before you run the charts, you must configure the database, configure IBM MQ, resolve all chart dependencies, and test the charts. You may also optionally integrate your deployment with an ISAM server for SSO enablement, to do so complete the steps on the Enabling ISAM page under Supporting Infrastructure before returning here.
Many of the Helm Charts that make up a deployment of SPM depend on the IBM Shared Configuration Helpers chart, so an extra Helm repository must be added using the following command:
helm repo add sch https://raw.githubusercontent.com/IBM/charts/master/repo/sampleshelm repo update
Configuring the Helm Chart
A catalog of available configuration options is available in the Configuration Reference topic.
While you may change the values in your local copy of helm-charts/spm/values.yaml
, it is strongly recommended to use a values override file with your custom options.
Configuring IBM MQ
IBM MQ is already configured to work out of the box with a secure connection with IBM WebSphere Liberty.
The commands that create all the objects that are needed on the queue manager are defined in a config map, in the configmap-mqsc.yaml
file.
The password for the IBM MQ web console can be retrieved from the created Secret resource using the following command after it has been deployed:
kubectl get secret <releaseName>-mq-credentials -o go-template='{{.data.adminPasswordKey | base64decode}}{{"\n"}}'
Packaging the Helm Charts
To use the Helm Charts to install SPM, package the charts and load them into a repository. For more information, see ChartMuseum.
For each chart, its dependencies must be resolved before it can be loaded into a Helm repository like Chart museum.
cd $SPM_HOME/helm-chartshelm dependency update appshelm dependency update mqserverhelm dependency update xmlserverhelm dependency update batchhelm dependency update webhelm dependency update uawebapp
cd $env:SPM_HOME\helm-charts\helm dependency update appshelm dependency update mqserverhelm dependency update xmlserverhelm dependency update batchhelm dependency update webhelm dependency update uawebapp
If you made any changes to any of the charts, these can now be verified using the helm lint
and helm template
commands, for example:
cd $SPM_HOME/helm-chartshelm lint appshelm template apps
cd $env:SPM_HOME\helm-charts\helm lint appshelm template apps
To publish the individual charts to the Chart museum repository, run the following commands from the helm-charts
folder. The commands also use the $SPM_HOME
value that is defined in Install prerequisite software:
cd $SPM_HOME/helm-chartshelm push apps local-developmenthelm push mqserver local-developmenthelm push xmlserver local-developmenthelm push batch local-developmenthelm push web local-developmenthelm push uawebapp local-development
cd $env:SPM_HOME\helm-charts\helm push apps local-developmenthelm push mqserver local-developmenthelm push xmlserver local-developmenthelm push batch local-developmenthelm push web local-developmenthelm push uawebapp local-development
To generate the umbrella chart that is used for the deployment, run the following commands:
cd $SPM_HOME/helm-chartshelm dependency update spmhelm push spm local-developmenthelm repo update
cd $env:SPM_HOME\helm-charts\helm dependency update spmhelm push spm local-developmenthelm repo update