Customizing the Mashery Local Deployment Manifest
Based on the outcome of the planning phase, you can create a Kubernetes cluster spanning one or more nodes. You can also change the deployment manifest appropriately with the number of components per region.
Files to Modify
In the TIBCO Mashery Local installer container, change to the following folder:
/var/jenkins_home/docker-deploy/azure/k8s/
Update the appropriate deployment manifest using the descriptions in the tables in the "Customize Kubernetes Cluster" section below:
Customize Kubernetes Cluster
The following parameters in the applicable manifest must be configured:
Parameter | Description |
---|---|
tml_image_tag | TIBCO Mashery Local Docker image tag. This must be updated to match your Docker image build. For more information see the note at the top of this section. |
tml_cluster_name | Name for the TIBCO Mashery Local cluster. |
tml_cluster_mode | There are two valid modes:
|
azure_directory_id | Azure Directory ID |
azure_application_id | Azure Application ID |
azure_client_secret | Azure Client Secret |
azure_resource_group | Azure Resource Group - for example, tmlResourceGroup.
This must be consistent with the value specified for RESOURCE_GROUP in the configure_azure Jenkins job that is run when creating Mashery Docker images. |
azure_resource_group_region | Azure Image Registry Host - for example, eastus.
This must be consistent with the value specified for RESOURCE_GROUP_REGION in the configure_azure Jenkins job that is run when creating Mashery Docker images. |
tml_image_registry_host | Azure Resource Group - for example, tmlContainerRegistry.
This must be consistent with the value specified for CONTAINER_REGISTRY in the configure_azure Jenkins job that is run when creating Mashery Docker images. Also see: https://azure.microsoft.com/en-us/services/container-registry/ |
k8s_machine_type | The machine type of worker VMs in the Azure Kubernetes cluster - for example, Standard_DS3_v2. |
k8s_node_count | The number of worker VMs in the Azure Kubernetes cluster. Customize this for your deployment. If you plan to create a multi-zone cluster, an equal number of nodes are recommended per zone. For example, use 9 if you want to create 3 nodes in three regions: us-east-1a, us-east-1b, and us-east-1e under us-east-1 region. |
tml_cm_count | Number of Cluster Manager containers, in a single-region deployment, or per zone, in a multiple-region deployment. |
tml_tm_count | Number of Traffic Manager containers, in a single-region deployment, or per zone, in a multiple-region deployment. |
tml_cache_count | Number of Memcached containers, in a single-region deployment, or per zone, in a multiple-region deployment. |
tml_sql_count | Number of MySQL containers, in a single-region deployment, or per zone, in a multiple-region deployment. |
tml_log_count | Number of Log Service containers, in a single-region deployment, or per zone, in a multiple-region deployment. |
tml_nosql_count | Number of Cassandra containers, in a single-region deployment, or per zone, in a multiple-region deployment. |
The following are additional parameters that can be configured:
Parameters used to control storage size
"k8s_storage_type": "pd-standard", "k8s_storage_provisioner": "kubernetes.io/azure-disk", "k8s_deploy_namespace": "default", "k8s_storage_account_type": "Standard_LRS", "tml_sql_storage_size": "10Gi", "tml_log_storage_size": "10Gi", "tml_nosql_storage_size": "10Gi", "tml_cache_storage_size": "10Gi",
Parameters used to control 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 and Configuration
Generate deployment scripts and configuration by running the appropriate command in the /var/jenkins_home/docker-deploy/azure/k8s/ folder:
- single-region deployment:
./compose.sh manifest-single-region.json
The deployment scripts and configuration are generated in the manifest-single-region folder.
- single Azure VM deployment:
./compose.sh manifest-single-host.json
The deployment scripts and configuration are generated in the manifest-single-host folder.
An example output for single-region deployment is:
TMG_CLUSTER_NAME: tmlK8SClusterSingleRegion 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" TMG_CLUSTER_TAG: 6922993653aa7f38744d8a3e50daccf3 K8S_AZURE_ZONES: eastus TMG_ZONE_NAME: 0: eastus TMG_ZONE_COUNT: 1 TMG_RELEASE_VERSION: 5.2.0