Planning and Configuration for a New Cluster on On-premises VirtualBox using Swarm
Files to modify
Only Single zone deployment is supported for on-premises deployment.
After building the Mashery Local images, copy the /var/jenkins_home/docker-deploy folder in the tml-installer container to the desired host from where you want to run the deployment. If your build and deployment host are the same, the following sample command will copy the docker-deploy folder from the container to the current working directory on the local machine.
docker cp tml-installer:/var/jenkins_home/docker-deploy .The following file is a reference deployment manifest in tml-installer container for deployment in a single zone: docker-deploy/onprem/swarm/manifest-onprem-swarm.json
Swarm Configuration
The on-premises deployment will create two Virtual Box instances - one for Swarm manager and another worker node.
The cluster creation script (create-local-swarm-cluster.sh) creates one Swarm Master Node VM (master) and one worker VM (node-1) where Mashery Local containers will be deployed.
The Master VM is 4GB of memory and work node is 2GB. So ensure you have at least 6-7 GB memory available.
"tml_cluster_name": "Tibco Mashery Gateway Reference Cluster", "tml_cluster_mode": "tethered", "tml_zones": ["local"],
- tethered - In this mode, Mashery Local gets the configuration data from Mashery Local cloud (You need to have MOM Key and Secret in this mode).
- untethered_cm - In this mode, you configure data through the Mashery Local Configuration Manager UI.
- untethered_api - In this mode, configuration data is provided through the v3 API.
Mashery Local Components Configuration
Variable Prefix | Description |
---|---|
tml_cm | Cluster Manager Component |
tml_api | V3 API Component |
tml_tm | Traffic Manager Component |
tml_cache | Cache Component |
tml_sql | SQL Component |
tml_log | NoSQL (Cassandra) Component |
tml_nosql | Number of Cassandra Components |
"tml_image_tag": "v5.1.0.1", "tml_cm_count": 1, "tml_tm_count": 1, "tml_cache_count": 1, "tml_sql_count": 1, "tml_log_count": 1, "tml_nosql_count": 1, "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": "false", "tml_api_http_port": 7080, "tml_api_https_enabled": "false", "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, "cassandra_max_heap": "512M", "cassandra_replication_factor": 1
Setting up Mashery Service Configuration Data
Mashery Local offers the option of importing service configuration data offline. A sample data.zip is provided with the TIBCO Mashery Local build that can be loaded into the database during TIBCO Mashery Local cluster creation.
"mom-host": "<MOM_HOST>", "apiKey": "<MOM_API_KEY>", "apiSecret": "<MOM_API_SECRET>",