Installing a Helm release of ODM for production

You install ODM for production on Certified Kubernetes by using the ODM Helm chart.

Before you begin

The Helm chart is available in the public IBM Helm charts repository and the ODM Docker images are available in the IBM Entitled Registry.

Before you install, make sure that you prepare your environment. For more information, see Preparing to install ODM for production and Customizing ODM for production.

If Helm is not installed in your Kubernetes cluster, install it. See ODM detailed system requirements.

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

  1. Access the container images.
    1. Log in to MyIBM Container Software Library with the IBMid and password that are associated with the entitled software.
    2. 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.
    3. 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.
  2. 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
  3. 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
  4. 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.

  5. 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.