Name: pcf18-deployment
Owner: Stark & Wayne
Description: PCF 1.8 Genesis Templates
Created: 2016-09-30 20:33:02.0
Updated: 2018-05-08 16:07:22.0
Pushed: 2016-10-26 18:00:21.0
Homepage: null
Size: 30
Language: Shell
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This repository acts as an upstream repository of YAML templates for use in a PCF 1.8 deployment, managed via the Gensis utility.
To create a new Genesis based deployment of Cloud Foundry, run
genesis new deployment --template pcf18
. This will create a new repo
called cf-deployments
for you, and pull in the
github.com/starkandwayne/pcf18-deployment
repo as the upstream
remote,
copying the contents of global/*
into the new cf-deployments
repo.
This allows you to easily diverge from the upstream templates to suit your environment, and while also being able to pull in changes from upstream down the road.
To create a new site, run genesis new site --template <site-type>
. This
will copy in the latest data from the upstream
remote's .templates/<site-type>
directory.
Deploying CF with these templates on BOSH-Lite is really easy:
nesis new deployment --template pcf18
cf-deployments
nesis new site --template bosh-lite my-site-name # Perhaps 'bosh-lite' or 'macbook' for your site names?
nesis new env my-site-name my-environment # Perhaps 'testing', 'playground', or, 'try-anything' for env names?
my-site-name my-environment
ke deploy
Everything should be all set and deploy without a hitch. When you create a
new environment, genesis
will prompt you for a Vault to use, and generate
all the credentials/certs you need to get up and running.
We've built these templates to match as closely as possible the experience
one would get when deploying cf-release
on bosh-lite
. There were a couple
differences, however:
https://api.system.bosh-lite.com
(traditionally it had been https://api.bosh-lite.com
). We add the
explicit system.
to all the system domains for clarity, and to help
prevent unanticipated outages from apps or route creation that overlaps
with things like login
, or api
.Once deployed, you can hit your bosh-lite Cloud Foundry at https://api.system.bosh-lite.com/
Deploying CF on AWS from these templates should get you a production-worthy CF deployment. Credentials and certs will be unique and stored in Vault, all services will be HA. The CCDB/UAADB are expected to use RDS, and the CF blobstore is expected to use S3. Amazon ELBs will be used in front of the gorouters for load balancing, and SSL termination.
Things you will need to bring to the table:
n/2 + 1
nodes up to
constitute a functioning quorum).uaadb
, another for the ccdb
.Parameters that will need to be filled out:
*.system.
and *.run.
to create
the CF system + app default domains.Deploying CF on vSphere from these templates should get you most of the way to a production worthy CF deployment. Credentials and certs will be unique and stored in Vault. All services will be HA. The CCDB/UAADB will be running on postgres_z1, with an automated replica on postgres_z2 (manual failover is required at this time). There is no load balancer layer or SSL termination layer provided, as must people will be bringing their own hardware solution (F5s, etc) to the table for this.
Prerequisites:
n/2 + 1
nodes up to
constitute a functioning quorum).Parameters that will need to be filled out:
*.system.
and *.run.
to create
the CF system + app default domains.For more information, check out the Genesis repo, or genesis help
.
You can download the Genesis program from Github