Mesos, Marathon, cloud and 10 data centers - How to talk to each other?

I searched in Mesos, Marathon and Chronos combos to host a large number of websites. In my head, I would have to type a few commands into my laptop and wait about 30 minutes to create and deploy.

My only problem is that my resources are scattered across several data centers, numerous cloud accounts and about 6 locations. I see no reason why I cannot control them all from my laptop - (I have serious problems with management and control when it comes to my equipment!)

I think my best approach is to build brains in the cloud (zoo keeper and at least one master), and then add to separate data centers, but I have not seen any examples of a distributed cluster where not all nodes can talk to each other .

Can someone recommend a way to do this?

+5
source share
3 answers

I have a setting that I would recommend:

  • GIT source code, deployment scripts, and dock files
  • Each web service has its own directory and comes with a docker file for containerizing it.
  • The script line (shell script works for docker assembly) builds all docker containers from which all images are placed in the docker image repository
  • A suitable deployment deploys all containers remotely to the VPS. (You use your own deployment routine that matches the meso / marathon)
  • As part of the process, the active MQ agent is deployed in the cloud (yes, in the container). When deployed, it supplies each node with the broker's URL to which they must connect. In your setup, you could use ZooKeeper or etcd instead.

I also use jenkins to automatically restore and start deployments whenever a GIT has been committed, but they can also be done manually.

Reconstructions are growing rapidly, and deployments are not time consuming. I can replicate everything that I have in my repository indefinitely and have zero configuration.

To be able to perform a new deployment, all I need is a VPS set with docker daemons and some data stores for persistence. I'm not sure if this is something you can replace with a mesos, but it is possible that it can install a meso cloud for you on your equipment.

All logging is done using logstash on the central registration server.

0
source

I have 3 main settings, 5 subordinates, 1 mesos / marathon / docker gateway and are described here https://github.com/debianmaster/Notes/wiki/Mesos-marathon-Docker-cluster-setup-on-RHEL-7- with-three-master

this can help you understand load balancing / scaling across computers in your data center

1) wizards can also be used as slaves 2) mesos haproxy bridge script can be used to discover the services of newly created services in the cluster 3) the haproxy gateway is updated every minute by new created services

This documentation contains 1) master / slave settings 2) haproxy settings, which automatically reboots 3) dockers settings 4) service program example

0
source

You must use Terraform to configure your infrastructure as code.

Terraform has many providers that allow you to manage various resources across multiple cloud services and / or uncoated resources such as vSphere.

You can start with the Getting Started Guide .

0
source

Source: https://habr.com/ru/post/1210843/


All Articles