https://github.com/vspiewak/ansible-mesosphere
Installation of Mesosphere stack on AWS EC2 using Ansible
https://github.com/vspiewak/ansible-mesosphere
ansible aws marathon mesos sensu
Last synced: 6 months ago
JSON representation
Installation of Mesosphere stack on AWS EC2 using Ansible
- Host: GitHub
- URL: https://github.com/vspiewak/ansible-mesosphere
- Owner: vspiewak
- Created: 2015-06-03T22:08:26.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-11-07T19:35:10.000Z (almost 10 years ago)
- Last Synced: 2025-03-29T19:34:31.661Z (7 months ago)
- Topics: ansible, aws, marathon, mesos, sensu
- Language: Python
- Homepage:
- Size: 170 KB
- Stars: 12
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Ansible Mesosphere
==================
Install a Mesosphere stack on EC2 :
* Zookeeper cluster
* Mesos cluster
* Marathon
* Sensu for alerting/monitoring
* GitLab for hosting code
Install Ansible
---------------
(On OSX for instance...)
sudo easy_install pip
sudo -H pip install --upgrade pip
sudo -H pip install --upgrade boto
sudo -H pip install --upgrade ansible
Configure your AWS Credentials
------------------------------
export ANSIBLE_HOST_KEY_CHECKING=False
export EC2_REGION=eu-west-1
export AWS_ACCESS_KEY=...
export AWS_SECRET_KEY=...
export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY
export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY
Configure your EC2 pem file
---------------------------
export PEM_NAME=
export PEM_PATH=~/.ssh/.pem
Configure EC2 instances tags
----------------------------
export CLIENT=company
export ENV=dev
Configure your VPC
------------------
Use the default VPC or create one with a public subnet
export VPC_ID=
export SUBNET_ID=
Create EC2 instances
--------------------
ansible-playbook -i inventory/local playbooks/create-ec2.yml
Configure EC2 instances
-----------------------
ansible-playbook -i inventory/ec2.py playbooks/site.yml
ansible-playbook -i inventory/ec2.py playbooks/zookeeper.yml
ansible-playbook -i inventory/ec2.py playbooks/mesos.yml
ansible-playbook -i inventory/ec2.py playbooks/marathon.yml
ansible-playbook -i inventory/ec2.py playbooks/gitlab.yml
ansible-playbook -i inventory/ec2.py playbooks/sensu.yml
You can browse
--------------
* `http://:5050`
* `http://:8080`
* `http://:3000`
* `http://`
Deploy an app on marathon
-------------------------
curl -XPOST -H 'Content-Type: application/json' http://:8080/v2/apps -d @sample.json
Terminate EC2 instances
-----------------------
ansible-playbook -i inventory/ec2.py playbooks/terminate-ec2.yml
TODO
----
* Configure Sensu alerting (via mail)
* Configure Sensu checks for docker
* Configure Marathon in HA mode
* Configure Chronos (?)
* Install Chaos Monkeys