Installing on ICP#

Install HCL™ Accelerate into a Kubernetes cluster on ICP.

The tools required by all installation scenarios include the following items:

Note: The installation files used for offline installation are not the same as those used for internet-connected installation. Ensure that you download the right file for your installation environment.

Before starting installation, ensure that the following applications are installed in the target environment:

Get a key. The key enables you to complete installation. Visit the HCL Accelerate web portal to obtain your key. After completing the form, you will receive a confirmation email with an access key. Store the key in a readily-available location; you use it during installation.

Note: Secure values stored in a JSON file are automatically added to the home directory of the user installing the product. The directory is hidden and should not be modified or removed by the user. Because the values are located in the user's home directory, future upgrades must be performed by the user of the original installation. The encryption key encrypts the secure values in the JSON file. If a user uses the default encryption key when installing the product, future upgrades should proceed normally. If a non-default encryption key is provided for the initial installation, the user must also provide that encryption key for future upgrades. The values stored in the hidden directory are accessed by the installer on any future upgrades, and changes to the secure values will prevent upgraded instances from accessing existing data.

You will install HCL Accelerate into a Kubernetes cluster on ICP. The commands pull the HCL Accelerate images from a GitHub repository and places them into the ICP clusters.

  1. Download the installation file for your environment.

    Note: For macOS and Linux installations, set the appropriate permissions before running the file: sudo chmod +x.

    Visit the FlexNet download center and select the file for your environment. Or you can download the installation file directly from the following URLs:

    The Kubectl commands define your Kuberbetes context. Test the configuration by running the following commands:


     kubectl get nodes
            kubectl get pods --all-namespaces


    If you see messages like the following examples, your configuration is ready to use.

    ```   Ready     <none>    151d      v1.10.0+icp-ee    Ready     <none>    151d      v1.10.0+icp-ee    Ready     <none>    151d      v1.10.0+icp-ee     Ready     <none>    151d      v1.10.0+icp-ee


  2. On ICP dashboard, click Manage > Namespaces > Create Namespace > ****, and enter a name for the name space.

  3. Create MongoDB in the new namespace by completing the following steps:

    1. On the ICP dashboard, select Catalog > ibm-mongodb-dev.

    2. On the ibm-mongodb-dev page, select Configure, and then, from the Target namespace list, select the namespace you created earlier.

    3. Complete configuration by entering a release name, and password for the MongoDB admin user, and then click Install.

      This creates a persistent volume claim.

  4. Click Platform > Storage > ****, and then create a persistent volume for your claim by completing the following steps:

    1. On Storage page, click Create Persistent Volume.

    2. On the Create Persistent Volume window, enter a name for the volume.

    3. Turn JSON mode ON.

      The underlying JSON file for the persistent volume is displayed. In the JSON script for the NFS object, and specify the server's IP address, and the path for the new volume. The following code snippet illustrates a typical example:


       "nfs": {
            "server": "ip\_address",
            "path": "/volume\_path"


    4. Click Create.

      In the Storage window, check for the status of Bound for the new volume.

    5. In a command shell on the client, use the following kubectl command to check pod status: kubectl get pods -n persistentVolume\_name.

  5. Grant additional permissions to the MongoDB user by completing the following steps:

    1. Using a client command shell, logon to the pod as the admin user.

    2. Use the following command to grant additional permissions:

      db.grantRolesToUser( "mongo", ["readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin"] )

      If the command fails, an error message is displayed.

    3. If no message is displayed, type exit to leave the pod.

  6. Using a client command shell, type kubectl get services -n namespace to display the MongoDB service.

    Te service name is the host name for the MongoDB service.

  7. Determine the configuration properties to specify. You can customize the installation by specifying configuration properties on the helm install command.

    Some of the properties that you specify are dependent on your environment. However, there are several properties that must be specified. Below are the required properties.

    • access.key

      The product access key obtained from Passport Advantage.

    • url.domain

      The host name must resolve to a name on your DNS server, or in the server's hosts file. On Linux, the file location is etc/hosts; on Windows, the location is C:\Windows\System32\drivers\etc\hosts.

    • mongo.url

      The URL of the MongoDB. Specify the following parameters.

      • username

        The user ID to authenticate with the MongoDB database.

      • password

        The associated password to authenticate with the MongoDB database.

      • port

        The port number for the MongoDB database. Use the value shown in the example, which is 27017.

      • service_name

        The MongoDB service name you retrieved in Step 8.

      Note: If you used the install command in the previous step to install the MongoDB, use the following values for the mongo.url property.


      If you use the default IBM MongoDB, make sure to grant the MongoDB user full write privileges.

    • name

      The name space where the Helm chart is applied, and the name of Helm chart.

      --name standard ./velocity-1-5-0-helm.tgz

  8. Run the helm install command to install the HCL Accelerate images into ICP. The following example shows the a typical configuration properties:


     helm install \
     --set access.key=my\_access\_key \
     --set url.domain=my\_hostname \
     --set mongo.url=mongodb://mongo:mongo@mongodb-servicename:27017/admin \
     --set url.protocol=https \
     --set ui.service.externalPort=80 \
     --set ingress.enable=true \
     --name standard ./velocity-1-5-0-helm.tgz


Access HCL Accelerate at the URL you specified in the helm chart. You can refresh the status display by using the following kubectl command: kubectl get pods. The default admin user name is admin and the default password is admin.