Mesos Artifacts for WSO2 products provide Marathon application definitions per product profile to deploy WSO2 products in a clustered manner on Mesos DC/OS.
For example, for WSO2 ESB the following artifacts are available for deployment on Mesos DC/OS.
wso2esb-default.json
wso2esb-manager.json
wso2esb-worker.json
In addition, it has the Marathon application definition for its Configuration Registry database.
- mysql-esb-db.json
As evident from the above file list, there is a Marathon application definition for default, worker, and manager WSO2 Carbon profiles of WSO2 ESB. The relevant Marathon applications for a worker manager profile is used in a worker manager separated cluster.
The following diagram illustrates the high-level architecture of a clustered WSO2 product deployment on Mesos, using Manager and Worker separation.
The following are the steps required to deploy a WSO2 product in a distributed manner on Mesos.
- Step 1 - Build and load the WSO2 product Docker image
- Step 2 - Deploy the WSO2 product on Mesos in a distributed manner
- Step 3 - Access the UIs
Step 1 - Build and load the WSO2 product Docker image
- Build the WSO2 product Docker image with the relevant profiles, based on the instructions provided in step 1 in the Deploying a WSO2 Product on Mesos section.
- Load the WSO2 product Docker images to the Mesos node, based on the instructions provided in step 2 in the Deploying a WSO2 Product on Mesos section.
Use the relevant profiles to build the Docker images.
For example, when the following command is executed for an ESB 4.9.0 manager - worker separated deployment, it builds the wso2esb-manager-mesos
and wso2esb-worker-mesos
Docker images.
/build.sh -v 4.9.0 -s mesos -r puppet -l manager|worker
After the build is successful, issue the docker images
command to list the images that were successfully built.
REPOSITORY TAG IMAGE ID CREATED SIZE wso2esb-manager-mesos 4.9.0 82dbbb5b23d0 11 hours ago 794.8 MB wso2esb-worker-mesos 4.9.0 367415e478eb 11 hours ago 794.8 MB
Currently, the following product versions and profiles are supported by default.
WSO2 Product | Abbreviation | Version | Profiles Supported (for distributed deployment) |
---|---|---|---|
WSO2 API Manager | WSO2 APIM | 1.9.1, 1.10.1 | default, api-key-manager, api-store, api-publisher, gateway-manager, gateway-worker |
WSO2 Application Server | WSO2 AS | 5.3.0 | default, manager, worker |
WSO2 Business Process Server | WSO2 BPS | 3.5.0, 3.5.1 | default, manager, worker |
WSO2 Business Rules Server | WSO2 BRS | 2.1.0, 2.2.0 | default, manager, worker |
WSO2 Complex Events Processor | WSO2 CEP | 4.0.0 | default, presenter, worker |
WSO2 Data Analytics Server | WSO2 DAS | 3.0.0, 3.0.1 | default |
WSO2 Data Services Server | WSO2 DSS | 3.5.0 | default, manager, worker |
WSO2 Enterprise Store | WSO2 ES | 2.0.0 | default, publisher, store |
WSO2 Enterprise Service Bus | WSO2 ESB | 4.9.0 | default, manager, worker |
WSO2 Governance Registry | WSO2 G-Reg | 4.6.0, 5.1.0 | default |
WSO2 Identity Server | WSO2 IS | 5.0.0, 5.1.0 | default |
WSO2 Message Broker | WSO2 MB | 3.0.0, 3.1.0 | default |
WSO2 Governance Registry Publisher Store | WSO2 G-Reg PubStore | 5.1.0 | default |
WSO2 Identity Server Key Manager | WSO2 IS KM | 5.1.0 | default |
Step 2 - Deploy the WSO2 product on Mesos in a distributed manner
Execute the following command to trigger the distributed deployment.
./deploy.sh -d
Step 3 - Access the UIs
Add a host entry in the /etc/hosts
file (for Linux) for the Marathon LB hostname marathon-lb.marathon.mesos
, resolving to Marathon Load Balancer Host IP.
For example, if the Marathon Load Balancer Host IP is 192.168.65.111, the /etc/hosts
file entry is as follows:
192.168.65.111 marathon-lb.marathon.mesos