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 zone.

Important: Before you customize your TIBCO Mashery Local cluster, make sure the value in the tml_image_tag parameter matches your Docker image build. For example, to verify "tml_image_tag": "v5.0.0.1" , you can check the Docker image build in Jenkins as shown below:



Files to Modify

In the TIBCO Mashery Local installer container, change to the following folder:

/var/jenkins_home/docker-deploy/aws/k8s

Update the appropriate deployment manifest using the descriptions in the tables in the "Customize Kubernetes Cluster" section below:

  • manifest-single-zone.json for deployment in a single AWS zone.
  • manifest-multi-zones.json for deployment in multiple AWS zones.
  • manifest-single-host.json for deployment in a single AWS VM.

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. There cannot be spaces in the cluster name.
tml_cluster_mode There are two valid modes:
  • tethered - Mashery Local gets the configuration data from Mashery Local cloud. In this mode, an Administrator must specify api_key and api_secret in the following files:

    /var/jenkins_home/docker-deploy/properties/tml_sql_properties.json

    and

    /var/jenkins_home/docker-deploy/properties/tml_log_properties.json

  • untethered - Data is configured via the Mashery Local configuration manager UI.
aws_access_key_id AWS Access Key ID
aws_secret_access_key AWS Secret Access Key
aws_role_arn AWS Role ARN. This must be configured if role-based access control is used.
aws_default_region AWS Default Region
aws_s3_region AWS Region for S3 Bucket
k8s_aws_zones The AWS zones in which the AWS Kubernetes and Mashery Local clusters are deployed.

The following parameters in the applicable manifest should be configured:

Parameter Description
k8s_node_count The number of worker VMs in the AWS EKS 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.
k8s_version The Kubernetes version. This must be 1.11, 1.12, or 1.13. (Note that only major and minor numbers are used. Patch numbers, such as 1.12.8, should not be used.)
k8s_node_size The instance type for the Kubernetes worker nodes. For example: m3.small, m3.medium, m3.large.

Based on the deployment type, the following node size is recommended:

Deployment Node Size
Normal >= m3.large
No OAuth < m3.large
k8s_node_volume_size The disk size, in GB.

Generating Deployment Scripts and Configuration

Generate deployment scripts and configuration by running the appropriate command in the /var/jenkins_home/docker-deploy/aws/k8s/ folder:

  • Single-zone deployment:
    ./compose.sh manifest-single-zone.json

    The deployment scripts and configuration are generated in the manifest-single-zone folder.

  • Multi-zone deployment:
    ./compose.sh manifest-multi-zones.json

    The deployment scripts and configuration are generated in the manifest-multi-zones folder.

An example output for single-zone deployment is:

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"
TMG_CLUSTER_TAG: 4984199f97988b245f35601743b9303b
K8S_AWS_ZONES us-east-1e
TMG_ZONE_NAME 0: us-east-1e
TMG_ZONE_COUNT: 1
TMG_RELEASE_VERSION: 5.2.0
TMGC_REPO_NAME: tml/v5.2.0.1
repositoryUri 894547326815.dkr.ecr.us-east-1.amazonaws.com/tml/v5.2.0.1
AWS_REGISTRY_HOST 894547326815.dkr.ecr.us-east-1.amazonaws.com