Deploying the Reporting Services Separately after TML-Cluster Deployment

This deployment option enables you to deploy the Reporting Services (TML-Reporting) after the TML-Cluster is up and active, so that you can start seeing the reports after deploying and configuring the Reporting Services. This requires changes on cluster level for reserving a node for the Reporting Services container/pod. It is also required to modify the other pod yml files for deployment or scheduling constraint before deploying the TML-Cluster.
Note: Deployment or scheduling constraints in Kubernetes and placement constraints in Swarm need to be done well before deployment of the TML-Cluster if you want to deploy the Reporting Services after the TML-Cluster becomes active.

On GCP Kubernetes

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. Label one node with label "node-name=reporting" after provisioning it (the node can be added along with TML-Cluster infra provisioning or can be added to existing cluster) so that the TML-Reporting pod can be deployed on that node.
  3. Run the script deploy-reporting-pod-svc.sh located at docker-deploy/gcp/k8s/manifest folder to deploy the TML-Reporting pod and service.

On AWS Kubernetes

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. Label one node with label "node-name=reporting" after provisioning it (the node can be added along with TML-Cluster infra provisioning or can be added to existing cluster) so that the TML-Reporting pod can be deployed on that node.
  3. Run the script deploy-reporting-pod-svc.sh located at docker-deploy/aws/k8s/manifest folder to deploy the TML-Reporting pod and service.

On AWS EKS

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. Label one node with label "node-name=reporting" after provisioning it (the node can be added along with TML-Cluster infra provisioning or can be added to existing cluster) so that the TML-Reporting pod can be deployed on that node.
  3. Run the script deploy-reporting-pod-svc.sh located at docker-deploy/aws/k8s/manifest folder to deploy the TML-Reporting pod and service.

On Azure Kubernetes

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. Label one node with label "node-name=reporting" after provisioning it (the node can be added along with TML-Cluster infra provisioning or can be added to existing cluster) so that the TML-Reporting pod can be deployed on that node.
  3. Run the script deploy-reporting-pod-svc.sh located at docker-deploy/azure/k8s/manifest folder to deploy the TML-Reporting pod and service.

On Azure Openshift

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. Label one node with label "node-name=reporting" after provisioning it (the node can be added along with TML-Cluster infra provisioning or can be added to existing cluster) so that the TML-Reporting pod can be deployed on that node.
  3. Run the script deploy-reporting-pod-svc.sh located at docker-deploy/azure/openshift/manifest folder to deploy the TML-Reporting pod and service.

On Onprem Kubernetes

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. Label one node with label "node-name=reporting" after provisioning it (the node can be added along with TML-Cluster infra provisioning or can be added to existing cluster) so that the TML-Reporting pod can be deployed on that node.
  3. Run the script deploy-reporting-pod-svc.sh located at docker-deploy/onprem/k8s/manifest folder to deploy the TML-Reporting pod and service.

On Swarm Bare Metal

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. The placement contraints in the next two steps must be added to the deployment files before deploying the TML-Cluster.
  3. Modify the tmgc-reporting.yml located at docker-deploy/onprem/swarm/manifest-onprem-swarm to place the reporting pod on specific host by modifying the placement constraint:
    deploy:
      placement:
        constraints:
          - node.hostname == ${REPORTING_HOST_NAME}
  4. 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}
  5. Export REPORTING_HOSTNAME="{dedicated_reporting_node_name}" on swarm manager node. Get the node details on swarm manager by running the following command:
    docker node ls
  6. Run the script deploy-reporting-pod-svc.sh located at docker-deploy/onprem/swarm/manifest-onprem-swarm folder to deploy the TML-Reporting pod and service.

On Swarm Virtual Box

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. The placement contraints in the next two steps must be added to the deployment files before deploying the TML-Cluster.
  3. Modify the tmgc-reporting.yml located at docker-deploy/onprem/swarm/manifest-onprem-swarm to place the reporting pod on specific host by modifying the following placement constraint:
    deploy:
      placement:
        constraints:
          - node.hostname == ${REPORTING_HOST_NAME}
  4. 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}
  5. Export REPORTING_HOSTNAME="{dedicated_reporting_node_name}" on swarm manager node. Get the node details on swarm manager by running the following command:
    docker node ls
  6. Select the node name and export the following variable:
    export REPORTING_HOST_NAME=<node_name>
  7. Run the script deploy-reporting-pod.sh located at docker-deploy/onprem/swarm/manifest-onprem-swarm folder to deploy the TML-Reporting pod and service.

On AWS Swarm

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. The placement contraints in the next two steps must be added to the deployment files before deploying the TML-Cluster.
  3. Modify the tmgc-reporting.yml located at docker-deploy/aws/swarm/manifest-aws-swarm to place the reporting pod on specific host by modifying the placement constraint:
    deploy:
      placement:
        constraints:
          - node.hostname == ${REPORTING_HOST_NAME}
  4. 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-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}
  5. Export REPORTING_HOSTNAME="{dedicated_reporting_node_name}" on swarm manager node. Get the node details on swarm manager by running the following command:
    docker node ls
  6. Select the node name and export the following variable:
    export REPORTING_HOST_NAME=<node_name>
  7. Run the script deploy-reporting-pod.sh located at docker-deploy/aws/swarm/manifest-onprem-swarm folder to deploy the TML-Reporting pod and service.

On Azure Swarm

  1. Once the TML-Cluster is up and is in active state, deploy the reporting pod/container on a dedicated node.
  2. The placement contraints in the next two steps must be added to the deployment files before deploying the TML-Cluster.
  3. Modify the tmgc-reporting.yml located at docker-deploy/azure/swarm/manifest-onprem-swarm to place the reporting pod on specific host by modifying the placement constraint:
    deploy:
      placement:
        constraints:
          - node.hostname == ${REPORTING_HOST_NAME}
  4. 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-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}
  5. Export REPORTING_HOSTNAME="{dedicated_reporting_node_name}" on swarm manager node. Get the node details on swarm manager by running the following command:
    docker node ls
  6. Select the node name and export the following variable:
    export REPORTING_HOST_NAME=<node_name>
  7. Run the script deploy-reporting-pod.sh located at docker-deploy/azure/swarm/manifest-onprem-swarm folder to deploy the TML-Reporting pod and service.

In both options, you can provide custom configuration or pre-created dashboards during the deployment of pod/container. Refer to the Resource Upload and Utilization section.