Installing the Component Pack infrastructure

Install the infrastructure needed for deploying the Orient Me and Customizer offerings of the Component Pack for HCL Connections.

About this task

The infrastructure Helm chart is required for the Orient Me and Customizer offerings. The following components are deployed as part of the infrastructure:
  • appregistry-client
  • appregistry-service
  • haproxy
  • mongoDB
  • redis
  • redis-sentinel

Procedure

  1. Install the infrastructure Helm chart by running the following command:

    In the command, replace extractedFolder with the location of the directory where you extracted the Component Pack installation package. Replace the value of global.image.repository with the name of your Docker registry.

    • If you do not use ISAM:

      If you do not use IBM® Security Access Manager, run the following command to install the Helm chart:

      helm install \
      --name=infrastructure extractedFolder/microservices_connections/hybridcloud/helmbuilds/infrastructure-0.1.0-20191122-115352.tgz
       \
      --set \
      global.onPrem=true,\
      global.image.repository=Docker_registry/connections,\
      mongodb.createSecret=false,\
      appregistry-service.deploymentType=hybrid_cloud
      
    • If you use ISAM:

      If your deployment uses IBM® Security Access Manager (formerly Tivoli® Access Manager), the installation command includes some additional settings:

      helm install \
      --name=infrastructure extractedFolder/microservices_connections/hybridcloud/helmbuilds/infrastructure-0.1.0-20191122-115352.tgz \
      --set \
      global.onPrem=true,\
      global.image.repository=Docker_registry/connections,\
      mongodb.createSecret=false,\
      appregistry-service.deploymentType=hybrid_cloud,\
      appregistry-service.env.validateTokenMatch=false,\
      appregistry-client.env.validateTokenMatch=false
    Note: By default, deployment is done to the connections namespace. If you created a namespace with a different name and would like to deploy there, the following extra values must be included in the helm install command:
    appregistry-client.namespace=namespace,\
    appregistry-service.namespace=namespace,\
    haproxy.namespace=namespace,\
    mongodb.namespace=namespace,\
    redis-sentinel.namespace=namespace,\
    redis.namespace=namespace
  2. Verify that the infrastructure was successfully deployed.
    1. Verify that the installation completed by running the helm list command.

      When the installation completes, the chart's status shows as DEPLOYED.

    2. Then run the following command to check the status of all of the pods.
      kubectl get pods -n connections

      It can take up to 10 minutes for all pods to start.

    3. Verify the Redis Cluster

      The Redis Pods contain a Redis Tools script to discover information about the Redis Cluster.

      In any redis server pod (e.g. redis-server-0) , exec into the pod and run the script : /usr/bin/runRedisTools.sh --getAllRoles .

      Procedure

      kubectl exec -it redis-server-0 -n connections bash
      cd /usr/bin
      ./runRedisTools.sh --getAllRoles

      Sample output

      PodName : Role
      --------------
      redis-server-0.redis-server.connections.svc.cluster.local: slave
      redis-server-1.redis-server.connections.svc.cluster.local: slave
      redis-server-2.redis-server.connections.svc.cluster.local: master
      

      Expected: 1 master and 2 slaves. The master may exist within any of the 3 pods, but there should be only 1 master across all the redis pods.

      From the above list, we can determine that there is a single master : redis-server-2.

      If there is more than 1 master, we have a split brain scenario, where we have multiple masters.

      If this happens you should: