Customizing TML Deployment Manifest from TML Installer

Login the TML Installer

To login to the TML Installer, from the host where TML Installer is running, run the following commands :
docker exec -it tml-installer /bin/bash
sudo -s
or
docker exec -it -u root tml-installer /bin/bash

Customising TML Deployment Manifest

In the /var/jenkins_home/docker-deploy/gcp/k8s/ folder, there are three deployment manifest files for reference.

Manifest File Note
manifest-multi-zones.json Reference manifest file for deployment in multiple GCP zones.
manifest-single-zone.json Reference manifest file for deployment in single GCP zone.
manifest-single-host.json Reference manifest file for deployment in single GCP VM.
Customize the following parameters:
"tml_cluster_name": "reference-tml-cluster-single-zone",
"tml_cluster_mode": "tethered",
 
"tml_image_tag": "v5.2.0.1",
"tml_image_registry_host" : "us.gcr.io",
"tml_image_repo": "mashery-cloud-operations",
  • tml_cluster_name :
    • Must customize the naming conventions,
    • Only lower-case alphanumerics and '-' allowed
    • Must start with a letter and end with an alphanumeric;
    • Must not be longer than 40 characters
  • tml_cluster_mode :
    • Tethered mode :
    • Untethered mode : specify mom_key and mom_secret in the tml_cluster_properties.json file located in the /var/jenkins_home/docker-deploy/properties/ folder.
  • tml_cluster_modetml_image_registry_host :
    • Must be consistent with setting in configure_gcp on the Prepushtab. For additional information refer, Container Registry.
  • tml_image_repo :
    • tml_image_repo refers to the mashery-cloud-operations.
    • the project name in GCP, MUST be consistent with service account key file.
  • tml_image_tag :
    • Customize the tml_image_tag to match the docker build to be deployed. For example: For 5.2.0.1, 5.2.0 is the TML release number and "1" is the build number in Jenkins job build_docker.
    "k8s_machine_type": "n1-standard-4",
    "k8s_node_count": 3,
     
    "tml_cm_count": 1,
    "tml_tm_count": 3,
    "tml_cache_count": 3,
    "tml_sql_count": 1,
    "tml_log_count": 2,
    "tml_nosql_count": 3,
  • k8s_node_count :
    • the number of worker VMs in GCP Kubernetes cluster.
  • k8s_machine_type :
    • This implies the number of worker VMs in GCP Kubernetes cluster.
    Number of container per type per zone
    tml_cm_count
    tml_tm_count
    tml_cache_count
    tml_sql_count
    tml_log_count
    tml_nosql_count
  • Parameters Controlling Storage
    "k8s_storage_type": "pd-standard",
    "k8s_storage_provisioner": "kubernetes.io/gce-pd",
    "k8s_deploy_namespace": "default",
    "tml_sql_storage_size": "10Gi",
    "tml_log_storage_size": "10Gi",
    "tml_nosql_storage_size": "10Gi",
    "tml_cache_storage_size": "10Gi",
  • Parameters Controlling Services
    "tml_tm_http_enabled": "true",
    "tml_tm_http_port": 80,
    "tml_tm_https_enabled": "true",
    "tml_tm_https_port": 443,
    "tml_tm_oauth_enabled": "true",
    "tml_tm_oauth_port": 8083,
     
    "tml_api_http_enabled": "true",
    "tml_api_http_port": 7080,
    "tml_api_https_enabled": "true",
    "tml_api_https_port": 7443,
     
    "tml_cm_http_enabled": "true",
    "tml_cm_http_port": 8080,
    "tml_cm_https_enabled": "true",
    "tml_cm_https_port": 8443,

Generating Deployment Scripts

To generate deployment scripts for single-zone deployment,

In the /var/jenkins_home/docker-deploy/gcp/k8s/ folder, run the following command:
./compose.sh manifest-single-zone.json
For example, the output may be:
TMG_CLUSTER_NAME: tml-reference-cluster-single-zone
TMG_CLUSTER_MODE: tethered
in "tethered" mode, admin must specify "api_key" and "api_secret" in "tml_sql_properties.json" and "tml_log_properties.json"
K8S_GCP_ZONES us-central1-a
TMG_ZONE_NAME 0: us-central1-a
K8S_GCP_DEFAULT_ZONE us-central1-a
TMG_ZONE_COUNT: 1
TMG_RELEASE_VERSION: 5.2.0