Customizing Mashery Local Deployment Manifest from Mashery Local Installer

Log into the Mashery Local Installer

To log into the Mashery Local Installer, from the host where Mashery Local 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

Customizing Mashery Local 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_image_registry_host :
    • Must be consistent with setting in configure_gcp on the Prepush tab. For additional information, see 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 Mashery Local 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,