You install ODM for production on Certified Kubernetes by using the ODM Helm
chart.
About this task
To get access to the ODM material, you must have an IBM entitlement key to pull the images from
the IBM Entitled registry. You need to create a secret that contains this entitlement key, and add
the public IBM Helm charts repository to your Helm configuration. Then you can install ODM by using
a helm command line.
You can also download the ODM on Kubernetes package (.tgz file) from Passport Advantage® (PPA),
and then push the contained images to a Docker registry. Choose this option if you have your own
private Docker registry or no internet access. For details, see Installing using Passport Advantage.
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
- Access the container images.
- 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 the
ibm-entitlement-key
pull secret by running the following command.kubectl create secret docker-registry ibm-entitlement-key \
--docker-server=cp.icr.io --docker-username=cp \
--docker-password="<ENTITLEMENT_KEY>" --docker-email=<USER_EMAIL>
Where
- <ENTITLEMENT_KEY> 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.
- Add the public IBM Helm charts repository.
$ helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm
$ helm repo update
- Check your access to the ODM chart.
$ helm search repo ibm-odm-prod
NAME CHART VERSION APP VERSION DESCRIPTION
ibm-helm/ibm-odm-prod 23.2.0 8.12.0.1 IBM Operational Decision Manager
-
Install a Kubernetes release with the default configuration by using the following
command.
helm install release_name \
--set license=true \
--set image.repository=cp.icr.io/cp/cp4a/odm \
--set usersPassword=my-password \
--set internalDatabase.secretCredentials=my-odm-db-secret \
ibm-helm/ibm-odm-prod
If you want to use the default user access, you must define a password for the default users like
odmAdmin
by setting the parameter usersPassword.
Specify the name of the secret that you created in section Preparing to install Operational Decision Manager as the value for the parameters
internalDatabase.secretCredentials or
externalDatabase.secretCredentials, depending on the type of database you
use.
Note: By default the ibm-entitlement-key is defined as the image pull secret when
image.repository
contains cp.icr.io. To use another secret, set the
image.pullSecrets
parameter.
The package is deployed asynchronously in a matter of minutes, and is composed of several
services.
Note: If you want to deploy an ODM instance with a non-production license, you must set the
customization.deployForProduction parameter to
false
in the
Helm chart. In this case, you can only use the product for internal development and testing.
Decision Runner, which is used for testing and simulation, is always deployed as non-production,
even with a production type of license.
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.
Results
To install in another Openshift namespace, execute these commands to create a new project
(namespace) if it is not done and execute the helm install:
oc new-project <a_new_namespace>
# or oc project <your_existing_namespace>
helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm
helm repo update
# make sure you have a list of ibm-odm-prod repo added
helm search repo ibm-odm-prod
oc create secret docker-registry icregistry-secret --docker-server=cp.icr.io --docker-username=<your_username> --docker-password=<your_password>
# use --set to pass in the parameters values, here is an example:
helm install odm ibm-helm/ibm-odm-prod --version 23.2.0 \
--set image.repository=cp.icr.io/cp/cp4a/odm --set image.pullSecrets=icregistry-secret \
--set internalDatabase.persistence.enabled=false --set license=true --set usersPassword=odmAdmin \
--set internalDatabase.runAsUser='' --set customization.runAsUser='' --set service.enableRoute=true
For information about -n <namespace> options, see Helm Install.
When oc project
is executed in an Openshift cluster, you enter the context of the
namespace.