Deploying the Reporting Services along with TML-Cluster
Deploying the Reporting Services along with the TML-Cluster requires you to preconfigure an extra node in the Kubernetes or Swarm cluster to host the Reporting Services (TML-Reporting) pod/container.
Perform the following steps to bring the Reporting Services container along with other containers in the TML-Cluster when you are modifying the manifest for TML-Cluster deployment. TML-Reporting would be deployed only after all the other containers are successfully deployed using the
create-tml-cluster.sh script located in the manifest folder.
On Swarm Bare Metal
- Modify the manifest file located at docker-deploy/onprem/swarm/.
- Set "tml_reporting_enabled" : "true" in the manifest file.
- Export REPORTING_HOSTNAME="{dedicated_reporting_node_name}" on swarm manager node.
Get the node details on swarm manager by running this command:
docker node ls
- Select the node name and export the following variable:
export REPORTING_HOST_NAME=<node_name>
- Modify the
tmgc-reporting.yml located at
docker-deploy/onprem/swarm/manifest-onprem-swarm folder to place the reporting pod on specific host by modifying the placement constraint.
deploy: placement: constraints: - node.hostname == ${REPORTING_HOST_NAME}
- In order to restrict the other containers/pods to not run on node which is dedicated for reporting container, all the following pod yml files located at
docker-deploy/onprem/swarm/manifest-onprem-swarm need to be modified:
1. tmgc-nosql.yml 2. tmgc-nosql-ring.yml 3. tmgc-sql.yml 4. tmgc-cache.yml 5. tmgc-log.yml 6. tmgc-tm.yml 7. tmgc-cm.yml The above files need to be modified to add below placement constraint along with other constraints such that these containers do not run on reporting node. deploy: placement: constraints: - node.hostname != ${REPORTING_HOST_NAME} e.g In tmgc-nosql.yml, tmgc-nosql-ring.yml, tmgc-sql.yml, tmgc-cache.yml, tmgc-log.yml after adding above constraint deploy section would look like as below: deploy: placement: constraints: - node.hostname == ${HOST_NAME} - node.hostname != ${REPORTING_HOST_NAME} and in tmgc-tm.yml and tmgc-cm.yml after adding new constraint, deploy section would like as below: deploy: placement: constraints: - node.hostname != ${REPORTING_HOST_NAME}
On Swarm Virtual Box
- Modify the manifest file located at docker-deploy/onprem/swarm/.
- Set "tml_reporting_enabled" : "true" in the manifest file.
- Export REPORTING_HOSTNAME="{dedicated_reporting_node_name}" on swarm manager node.
Get the node details on swarm manager by running this command:
docker node ls
- Select the node name and export the following variable:
export REPORTING_HOST_NAME=<node_name>
- Modify the
tmgc-reporting.yml located at
docker-deploy/onprem/swarm/manifest-onprem-swarm folder to place the reporting pod on specific host by modifying the placement constraint.
deploy: placement: constraints: - node.hostname == ${REPORTING_HOST_NAME}
- In order to restrict the other containers/pods to not run on node which is dedicated for reporting container, all the following pod yml files located at
docker-deploy/onprem/swarm/manifest-onprem-swarm need to be modified:
1. tmgc-nosql.yml 2. tmgc-nosql-ring.yml 3. tmgc-sql.yml 4. tmgc-cache.yml 5. tmgc-log.yml 6. tmgc-tm.yml 7. tmgc-cm.yml The above files need to be modified to add below placement constraint along with other constraints such that these containers do not run on reporting node. deploy: placement: constraints: - node.hostname != ${REPORTING_HOST_NAME} e.g In tmgc-nosql.yml, tmgc-nosql-ring.yml, tmgc-sql.yml, tmgc-cache.yml, tmgc-log.yml after adding above constraint deploy section would look like as below: deploy: placement: constraints: - node.hostname == ${HOST_NAME} - node.hostname != ${REPORTING_HOST_NAME} and in tmgc-tm.yml and tmgc-cm.yml after adding new constraint, deploy section would like as below: deploy: placement: constraints: - node.hostname != ${REPORTING_HOST_NAME}
On AWS Swarm
- Login to docker swarm manager ec2 node.
- Modify the manifest file present at docker-deploy/aws/swarm
- Set "tml_reporting_enabled" : "true" in the manifest file.
- Export REPORTING_HOSTNAME="{dedicated_reporting_node_name}" on swarm manager node.
Get the node details on swarm manager by running this command:
docker node ls
- Select the node name and export the following variable:
export REPORTING_HOST_NAME=<node_name>
- Modify the
tmgc-reporting.yml located at
docker-deploy/aws/swarm/manifest-aws-swarm folder to place the reporting pod on specific host by modifying the placement constraint.
deploy: placement: constraints: - node.hostname == ${REPORTING_HOST_NAME}
- In order to restrict the other containers/pods to not run on node which is dedicated for reporting container, all the following pod yml files located at
docker-deploy/aws/swarm/manifest-aws-swarm need to be modified:
1. tmgc-nosql.yml 2. tmgc-nosql-ring.yml 3. tmgc-sql.yml 4. tmgc-cache.yml 5. tmgc-log.yml 6. tmgc-tm.yml 7. tmgc-cm.yml The above files need to be modified to add below placement constraint along with other constraints such that these containers do not run on reporting node. deploy: placement: constraints: - node.hostname != ${REPORTING_HOST_NAME} e.g In tmgc-nosql.yml, tmgc-nosql-ring.yml, tmgc-sql.yml, tmgc-cache.yml, tmgc-log.yml after adding above constraint deploy section would look like as below: deploy: placement: constraints: - node.hostname == ${HOST_NAME} - node.hostname != ${REPORTING_HOST_NAME} and in tmgc-tm.yml and tmgc-cm.yml after adding new constraint, deploy section would like as below: deploy: placement: constraints: - node.hostname != ${REPORTING_HOST_NAME}
On Azure Swarm
- Login to docker swarm manager azure node.
- Modify the manifest file present at docker-deploy/azure/swarm
- Set "tml_reporting_enabled" : "true" in the manifest file.
- Export REPORTING_HOSTNAME="{dedicated_reporting_node_name}" on swarm manager node.
Get the node details on swarm manager by running this command:
docker node ls
- Select the node name and export the following variable:
export REPORTING_HOST_NAME=<node_name>
- Modify the
tmgc-reporting.yml located at
docker-deploy/azure/swarm/manifest-azure-swarm folder to place the reporting pod on specific host by modifying the placement constraint.
deploy: placement: constraints: - node.hostname == ${REPORTING_HOST_NAME}
- In order to restrict the other containers/pods to not run on node which is dedicated for reporting container, all the following pod yml files located at
docker-deploy/azure/swarm/manifest-azure-swarm need to be modified:
1. tmgc-nosql.yml 2. tmgc-nosql-ring.yml 3. tmgc-sql.yml 4. tmgc-cache.yml 5. tmgc-log.yml 6. tmgc-tm.yml 7. tmgc-cm.yml The above files need to be modified to add below placement constraint along with other constraints such that these containers do not run on reporting node. deploy: placement: constraints: - node.hostname != ${REPORTING_HOST_NAME} e.g In tmgc-nosql.yml, tmgc-nosql-ring.yml, tmgc-sql.yml, tmgc-cache.yml, tmgc-log.yml after adding above constraint deploy section would look like as below: deploy: placement: constraints: - node.hostname == ${HOST_NAME} - node.hostname != ${REPORTING_HOST_NAME} and in tmgc-tm.yml and tmgc-cm.yml after adding new constraint, deploy section would like as below: deploy: placement: constraints: - node.hostname != ${REPORTING_HOST_NAME}
Copyright © 2022. Cloud Software Group, Inc. All Rights Reserved.