https://github.com/dpup/aws-cluster
CoreOS on EC2 with an ELB and vulcand reverse proxies.
https://github.com/dpup/aws-cluster
Last synced: over 1 year ago
JSON representation
CoreOS on EC2 with an ELB and vulcand reverse proxies.
- Host: GitHub
- URL: https://github.com/dpup/aws-cluster
- Owner: dpup
- Created: 2014-07-31T02:52:56.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2016-05-21T15:15:44.000Z (about 10 years ago)
- Last Synced: 2025-01-25T14:22:20.661Z (over 1 year ago)
- Language: PHP
- Homepage:
- Size: 43 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# aws-cluster
This repo contains configuration files to set up a
[CoreOS cluster on EC2](https://coreos.com/docs/running-coreos/cloud-providers/ec2/) with an ELB and
[Vulcan](http://www.vulcanproxy.com) reverse proxies. There is also a sample configuration for an
apache server.
To set up a new cluster:
1. Set up AWS CLI (tools use the profile "home" at present)
2. Make sure you have a `~/.dockercfg` file (create one with `docker login`)
3. Run `node tools/create-stack.js --name MyStack --keypair mykeypair`
4. Go to the EC2 console and make note of the public IP address of one of the instances and export as `CLUSTER_IP`
You can also [create a new stack](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#cstack=sn%7EMyCoreOSCluster)
manually by uploading the template and following the steps.
To start the vulcan instances (assuming you have 5 hosts):
```
fleetctl --tunnel $CLUSTER_IP start vulcan/vulcan.*.service
```
In Route53 create A records for your domains and point at the Load Balancer's public IP (it'll look
something like `MyCluster-ClusterLB-42342ASFGASD-1457111472.us-east-1.elb.amazonaws.com`).
Update [defaultweb/defaultweb-discovery.service](defaultweb/defaultweb-discovery.service) to include
the domains you manage.
Then you can start the default apache server using:
```
fleetctl --tunnel $CLUSTER_IP start defaultweb/*.service
```
To customize the apache server you'll want to push to your own docker repository, and update the
service config accordingly.
(Note: [Vulcan](http://www.vulcanproxy.com) isn't yet intended for production use)