Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/s-matyukevich/cloudfoundry-deployment
Templates for automated deployment of BOSH, Cloud Foundry.
https://github.com/s-matyukevich/cloudfoundry-deployment
Last synced: 12 days ago
JSON representation
Templates for automated deployment of BOSH, Cloud Foundry.
- Host: GitHub
- URL: https://github.com/s-matyukevich/cloudfoundry-deployment
- Owner: s-matyukevich
- Created: 2015-10-27T12:56:31.000Z (about 9 years ago)
- Default Branch: develop
- Last Pushed: 2015-10-26T10:36:16.000Z (about 9 years ago)
- Last Synced: 2024-11-07T19:05:40.416Z (2 months ago)
- Language: Shell
- Size: 207 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#Cloud Foundry/Diego Deployment to AWS
Ther repository includes set of Cloud Formation templates to deploy Cloud Foundry and Diego on AWS.
The deployment is an example of a minimalistic deployment of Cloud Foundry/Diego, including all crucial components for its basic functionality. It allows you to deploy Cloud Foundry/Diego for educational purposes, so you can poke around and break things.IMPORTANT: This is not meant to be used for a production level deployment as it doesn't include features such as high availability and security.
###Prerequisites:
- aws cli
- env variables (copy from .envrc-example to .envrc and source it)##How To Use:
1. Setup environment variables. Use .envrc-example file as an example.
2. To deploy CF to AWS:
```
$scripts/stack.sh create
```After a while you will get running CF deployment including:
- EC2 key pair (stored as bosh.pem)
- VPC
- NAT instance (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
- JumpBox instances
- (micro)BOSH instance
- CF deployment (we use aws_minimal CF manifest from cf-release) like:
```
+------------------------------------+---------+---------------+-------------+
| Job/index | State | Resource Pool | IPs |
+------------------------------------+---------+---------------+-------------+
| api_z1/0 | running | small_z1 | 10.0.16.4 |
| doppler_z1/0 | running | small_z1 | 10.0.16.6 |
| etcd_z1/0 | running | small_z1 | 10.0.16.104 |
| ha_proxy_z1/0 | running | small_z1 | 10.0.0.11 |
| | | | PUB_IP_ADDR |
| hm9000_z1/0 | running | small_z1 | 10.0.16.5 |
| loggregator_trafficcontroller_z1/0 | running | small_z1 | 10.0.16.7 |
| nats_z1/0 | running | small_z1 | 10.0.16.103 |
| nfs_z1/0 | running | small_z1 | 10.0.16.105 |
| postgres_z1/0 | running | small_z1 | 10.0.16.101 |
| router_z1/0 | running | small_z1 | 10.0.16.102 |
| runner_z1/0 | running | small_z1 | 10.0.16.9 |
| stats_z1/0 | running | small_z1 | 10.0.16.10 |
| uaa_z1/0 | running | small_z1 | 10.0.16.8 |
+------------------------------------+---------+---------------+-------------+
```
To check status of your deployment and to find IP address of JumpBox and CF's load balancer use AWS console (in EC2 or Cloud Formation) or run
```
$scripts/stack.sh describe
```The script generates RSA key pair so to access JumpBox run:
```
$ssh -i bosh.pem ubuntu@PUB_IP_ADDRESS_OF_JUMPBOX
```
To run smoke tests against your CF deployment:
```
bosh run errand smoke_tests
```To use your CF deployment:
```
# PUB_IP_ADDR is the address of load balancer.
cf login -u admin -p YOUR_PASSWORD -a api.PUB_IP_ADDR.xip.io --skip-ssl-validation
```To check Diego:
```
cf push dora --no-start
cf install-plugin Diego-Enabler -r CF-Community
cf enable-diego dora
cf start dora && cf logs dora --recent
```##Deletion of stack:
IMPORTANT: Before deletion of stack delete all deployments by:
```ssh -i bosh.pem ubuntu@JUMPBOX_IP /home/ubuntu/scripts/destoy_all.sh```###TODOs:
- secure deployment (SG, ACLs, generated passwords, keys, certificates etc)
- add .Net cell to Diego
- add CF smoke_tests
- add automated release of all resources
- reduce costs by combining components and/or using cheap instance types (use spot instances?)####Useful links:
Diego Windows Release - https://github.com/cloudfoundry-incubator/diego-windows-release
Garden Windows Release - https://github.com/cloudfoundry-incubator/garden-windows-release
Generating SSL certificate - http://docs.pivotal.io/pivotalcf/customizing/self-signed-ssl.html
http://www.markkropf.com/blog/2015/5/17/setup-lattice-to-run-your-windows-apps