I'm looking at a new architecture deployment of Cloud Foundry using multi-cpi with a single BOSH director deployment. If the BOSH director is deployed in DC-A and manages 2 vcenters, one in DC-A and the other in DC-B, if DC-A goes offline, what are the options for BOSH to run active/standby in DC-B so that it can immediately take over deployments without having to perform a backup and restore?
CF Bosh Director Multi-DC High Availability
236 Views Asked by Mike Cruz At
1
There are 1 best solutions below
Related Questions in CLOUD-FOUNDRY
- cloud foundry - 413 Request Entity Too Large
- How to gain authorization to perform requested action, specifically create an instance of a service in Bluemix?
- Installing Spring Cloud Services for Cloudfoundry without OpsManager
- Cloud Foundry Stylized Error Pages
- Does Bluemix include a JBoss runtime?
- What is the difference between Cloud Foundry and Docker?
- How to integrate spring-xd batch jobs with Control-M scheduler
- How to execute curl operation using request module with authorizaion: bearer token?
- delete the output of a join (record in multipe tables)
- How to automate the creation of a vCAP user-defined variable in a Bluemix deployment?
- Cloudfoundry application with Jboss buildpack fails to deploy
- Difference between Cloud Foundry & Pivotal Web Services
- Running cloudfoundry sample app on local sandbox
- Cloudfoundry php-buildpack logging
- Cloud Foundry yaml parse error
Related Questions in CF-BOSH
- what does cloud foundry do that I can't do with Bosh
- How can I deploy a BOSH Director on BOSH Lite
- Chef cookbooks with BOSH
- Can I install Bosh-Lite on an Openstack VM without using Virtualbox?
- What Bosh Deployment should be used for a local cluster?
- Is there a way to use Bosh to handle an app deployed on a local cluster without an IaaS?
- Cloud Foundry cf dev start unable to find VM IP address
- Pivotal Cloud Foundry is based on container or VM
- Complete example of a PCF Tile with an addon
- Error deploying CF on virtualbox using Bosh
- credhub login does not work after deploying CF on virtualbox using Bosh
- Expected to find a map at path '/instance_groups/name=bosh/jobs/uaa' but found '[]interface {}'
- Please choose the bosh deployment
- Cloud Foundry with 3 AZ without shared storage
- "bosh create-env concourse-lite.yml" fails while Creating VM for instance 'concourse/0' from stemcell
Related Questions in BOSH
- awk quoting program text
- How to access a key value pair secret from AWS Secrets Manager, in concourse?
- TKGI - How to restart Bosh Director by SSH in to Bosh VM
- CF Bosh Director Multi-DC High Availability
- Prometheus error: couldn't load configuration. Found multiple scrape configs
- BOSH CLI Expected to find a map at path ... but found '[]interface {}'
- Getting BOSH to run on converse with cross-origin resource sharing
- How can I install the p-rabbitmq service on my local pcfdev?
- Ejabberd Server Application CPU Overload
- Unsupported Protocol Scheme Bosh Deployment
- environmental variables in bosh deployment
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes, multi-DC BOSH deployments with multi-CPI BOSH is working great! And your question is very often raised when people think of such multi-DC design.
There is no high availability (HA) for a BOSH Director, and there is no active/passive setup I'm aware of right now. The reason for this, is that loosing a BOSH Director is not a big deal. The nodes that this Director manages will still run on top of the infrastructure. They just won't be “manageable” until you bring your Director back.
But if we think about the requirements for such active/passive setup, here is what I would come up with:
They would have to share the exact same CPI installation and setup. Not a big deal.
They would have to share the same SQL database and same blobstore (object storage). This is not a big deal, but this leads to using both external SQL storage and external blobstore. Then the “passive” BOSH Director would at least have to disable its resurrector plugin, in order not to compete with the resurrector from the “active” BOSH Director. (In fact, the passive BOSH Director would have to be completely stopped, see below.)
They would have to share the same NATS message bus, which usually is co-located on the BOSH Director and thus dedicated to it. It's easy to extract this NATS from the Director and run it separately with a High Availability setup. But then the problem would be: which Director consumes NATS messages? Two Directors cannot compete in consuming those messages. That's why the “passive” BOSH Director would require its processes to be
monit stop-ed, or the whole instancebosh stop-ed.This
bosh stoprequirement cannot be achieved using theboshCLI (v2, including thisbosh-initcomponent which can act just like a local, stripped-down BOSH Director). So these two BOSH Directors would have to be deployed by a “bootstrap” BOSH Director (which is quite common, I've even seen up to four stages of such bootstrap Director pattern, on some customer production environments!)Now imagine you have it all. A bootstrap BOSH Director that deploys a separate HA NATS and two Directors, with same CPI setup, same external SQL database and same external blobstore. Then it would work! Whenever you loose the active one, you
bosh startthe passive one and it takes over. But the you should be careful that the previously active one doesn't pop up suddenly, or it would compete in consuming NATS messages, and possibly mess up the database and blobstore. That's where BOSH is missing some “lock” feature, to allow only one active Director at a time. Here, something very simple could be implemented, based on some database record that would designate which one is active and which one is passive. Switching this record manually would trigger the passive Director to become active.This is a very good idea for the next Cloud Foundry hackathon!