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
- appregistry-client
- appregistry-service
- haproxy
- mongoDB
- redis
- redis-sentinel
Procedure
-
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-20200321-173948.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-20200321-173948.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 theconnections
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
- If you do not use ISAM:
-
Verify that the infrastructure was successfully deployed.
-
Verify that the installation completed by running the
helm list
command.When the installation completes, the chart's status shows as DEPLOYED.
-
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.
-
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:
- Validate the network as per Verifying that DNS is working correctly within your Kubernetes platform.
- If the problem persists, Purge the infrastructure Helm chart
helm del --purge infrastructure
- Reinstall the infrastructure helm chart .
- Verify the Redis Cluster.
-
Verify that the installation completed by running the