You install ODM for production on Certified Kubernetes by using a Helm chart, which you must
download from IBM Passport Advantage®.
About this task
To install ODM for production, you need to download the archive from IBM Passport Advantage (PPA) to get the Helm chart.
Then, you have two options to access the container images:
- Using the IBM Entitled registry with your IBMid
Choose this option if you have an internet
access from your cluster. You need to create a secret in your cluster and set the pull secrets and
repository parameters during the Helm installation.
- Using the downloaded archive from IBM Passport Advantage (PPA)
Choose this option if you have
your own private Docker registry or no internet access. The PPA archive contains both the Helm chart
and the Docker images. You can then run commands to load, tag, and push the images to your Docker
registry.
Note: You can install multiple instances of ODM in a single namespace without any conflict between
the different release names.
The following procedure must be executed as a namespace administrator.
Procedure
- Download the PPA to get the Helm chart.
- Download the IBM Operational Decision Manager images from IBM Passport Advantage (PPA).
- Extract the file that contains both the Helm chart and the images.
The name of the file includes the chart version number.
tar xvzf PPA_NAME.tar.gz
- Switch to the extracted folder.
- Access the container images.
Option 1: Using the IBM Entitled registry with your IBMid
- Log in to MyIBM Container Software Library with the IBMid and password that are
associated with the entitled software.
- In the Container software library tile, verify your entitlement on the
View library page, and then go to Get entitlement key
to retrieve the key.
- Create a pull secret by running a
kubectl create secret
command.$ kubectl create secret docker-registry <REGISTRY_SECRET> --docker-server=cp.icr.io --docker-username=cp \
--docker-password="<API_KEY_GENERATED>" --docker-email=<USER_EMAIL>
Where
- <REGISTRY_SECRET> is the secret name.
- <API_KEY_GENERATED> is the entitlement key from the previous step. Make
sure you enclose the key in double quotation marks.
- <USER_EMAIL> is the email address that is associated with your IBMid.
Note: The cp.icr.io
value for the docker-server parameter is the only
registry domain name that contains the images. You must set the docker-username to
cp
to use an entitlement key as docker-password.
- Make a note of the secret name so that you can set it for the
image.pullSecrets
parameter when you run a helm install of your containers. The image.repository
parameter must be set to cp.icr.io/cp/cp4a/odm
.
Option 2: Using the download archives from
IBM Passport Advantage (PPA)
In this case, you must install Docker.
- Load the container images from the extracted folder into your Docker registry.
- Load the container images into your internal Docker
registry.
$ for name in images/*.tar.gz; do echo $name && docker image load --input $name ; done
- Tag the images loaded locally with your registry
name.
$ docker tag odm-decisionserverconsole:<IMAGE_TAG_NAME> <REGISTRY_URL>/odm-decisionserverconsole:<IMAGE_TAG_NAME>
$ docker tag dbserver:<IMAGE_TAG_NAME> <REGISTRY_URL>/dbserver:<IMAGE_TAG_NAME>
$ docker tag odm-decisioncenter:<IMAGE_TAG_NAME> <REGISTRY_URL>/odm-decisioncenter:<IMAGE_TAG_NAME>
$ docker tag odm-decisionserverruntime:<IMAGE_TAG_NAME> <REGISTRY_URL>/odm-decisionserverruntime:<IMAGE_TAG_NAME>
$ docker tag odm-decisionrunner:<IMAGE_TAG_NAME> <REGISTRY_URL>/odm-decisionrunner:<IMAGE_TAG_NAME>
- Log in to your Docker
Registry.
$ docker login REGISTRY_URL -u <REGISTRY_USER_NAME>
When
prompted, enter your registry password.
- Push the images to your
registry.
$ docker push <REGISTRY_URL>/odm-decisioncenter:<IMAGE_TAG_NAME>
$ docker push <REGISTRY_URL>/odm-decisionserverconsole:<IMAGE_TAG_NAME>
$ docker push <REGISTRY_URL>/odm-decisionserverruntime:<IMAGE_TAG_NAME>
$ docker push <REGISTRY_URL>/odm-decisionrunner:<IMAGE_TAG_NAME>
$ docker push <REGISTRY_URL>/dbserver:<IMAGE_TAG_NAME>
- Create a pull secret to access your registry by running a
kubectl create secret
command.$ kubectl create secret docker-registry <REGISTRY_SECRET> --docker-server=<REGISTRY_URL> --docker-username=<REGISTRY_USER_NAME> \
--docker-password="<REGISTRY_USER_PASSWORD>" --docker-email=<REGISTRY_USER_EMAIL>
- Make a note of the secret name so that you can set it for the
image.pullSecrets
parameter when you run a helm install of your containers. The image.repository
parameter must be set to <REGISTRY_URL>
.
-
Install a Kubernetes release with the default configuration and a name of
my-odm-prod-release
by using the following command.
$ helm install release_name \
--set license=true \
--set image.pullSecrets=<REGISTRY_SECRET> \
--set image.repository=<REGISTRY_URL> \
chart/ibm-odm-prod-<version>.tgz
Where <REGISTRY_URL> corresponds to cp.icr.io/cp/cp4a/odm
in the case of IBM Entitled Registry.
The package is deployed asynchronously in a matter of minutes, and is composed of several
services.
To set the helm parameters and configure the installation, refer to Reference.
-
List the helm releases in your cluster.
$ helm ls
The release is an instance of the ibm-odm-prod
chart. All the Operational
Decision Manager components are now running in a Kubernetes cluster.
To verify a deployment, go to the Completing post-deployment tasks.