forked from pivotal-cf/docs-pcf-install
-
Notifications
You must be signed in to change notification settings - Fork 0
/
deploy-bosh-om.html.md.erb
executable file
·85 lines (50 loc) · 5.66 KB
/
deploy-bosh-om.html.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
---
breadcrumb: <%= vars.product_name %> Documentation
title: Deploying BOSH and Ops Manager
owner: <%= vars.product_name %> Documentation
---
This topic explains how to deploy BOSH and Ops Manager, the foundation of a <%= vars.product_name %> platform.
## <a id='overview'></a>Overview
[BOSH](http://bosh.io) and [Pivotal Operations Manager](./ops-man.html) provide the foundation for <%= vars.product_name %>. When you install <%= vars.product_name %>, you install the following components first.
* **BOSH** is an open-source tool that lets you run software systems in the cloud.
- BOSH and its IaaS-specific Cloud Provider Interfaces (CPIs) are what let <%= vars.product_name %> run on multiple IaaSes.
- See [Deploying Software with BOSH](#bosh) for a mini overview of how you use BOSH to run software in the cloud.
* **Ops Manager** is a GUI application that streamlines deploying subsequent software to the cloud via BOSH. Ops Manager features are also accessible by API endpoints. For more information, see [Using the Ops Manager API](./ops-man-api.html).
- For routine tasks, you can use the Ops Manager interface instead of the BOSH command-line interface (CLI), Ops Manager API, or BOSH API.
- Ops Manager represents <%= vars.product_name %> products as _tiles_ with multiple configuration panes that let you input or select configuration values needed for the product.
- Ops Manager generates BOSH manifests containing the user-supplied configuration values, and sends them to the Director.
- After you install Ops Manager and BOSH, you use Ops Manager to deploy almost all <%= vars.product_name %> products.
* Deploying Ops Manager deploys both BOSH and Ops Manager with a single procedure.
- You deploy BOSH and Ops Manager by logging into your IaaS and allocating the network addresses, VMs, user accounts, and other resources needed to support <%= vars.product_name %>.
- On AWS, you can deploy Ops Manager manually, or automatically with a Terraform template.
- On Azure, you can deploy Ops Manager manually, or automatically with a Terraform template, except on Azure Government Cloud and Azure Germany. On those two versions of Azure, you can only deploy Ops Manager manually.
For all of the above, the specifics depend on the IaaS on which you are deploying <%= vars.product_name %>. The contents of this documentation are organized by IaaS.
## <a id='contents'></a> IaaS-Specific Deployment Guidelines
For information on deploying <%= vars.product_name %> to your IaaS, choose one of the following:
* Deploying to AWS
- [Installing <%= vars.product_name %> on AWS Manually](/platform/ops-manager/<%= vars.current_major_version.sub('.', '-') %>./aws-manual.html)
- [Installing <%= vars.product_name %> on AWS Using Terraform](./aws-terraform.html)
* Deploying to Azure
- [Installing <%= vars.product_name %> on Azure Manually](./pcf-azure-manual-config.html)
- [Installing <%= vars.product_name %> on Azure Using Terraform](./azure-terraform.html)
* Deploying to GCP
- [Installing <%= vars.product_name %> on GCP Manually](./gcp-manual.html)
- [Installing <%= vars.product_name %> on GCP Using Terraform](./gcp-terraform.html)
* Deploying to OpenStack
- [Installing <%= vars.product_name %> on OpenStack](./openstack.html)
* Deploying to vSphere
- [Installing <%= vars.product_name %> on vSphere](./vsphere.html)
## <a id='bosh'></a> Deploying Software with BOSH
The following describes how you can use BOSH to run software in the cloud:
1. You create one or more _BOSH releases_, a directory that contains your software and anything that it depends on or needs to run on generic, empty VMs. For more information about using multiple BOSH releases, see [Including Multiple BOSH Releases in A Deployment](#multiple-releases).
1. You create a _manifest_ `.yml` file that identifies the component processes in the BOSH release, specifies the VMs they run on, how they communicate, how to start them up and shut them down, and any other configuration specifics that they need.
1. Using the BOSH command-line interface (CLI) or API, you upload the BOSH release and send the manifest to the _Director_, BOSH's executive process.
1. The Director provisions what it needs from the IaaS, _deploys_ your software to run in the cloud, and heals automatically when VMs go down.
1. BOSH CLI and API commands let you control BOSH-managed processes and allocate or release IaaS resources.
## <a id="multiple-releases"></a> Including Multiple BOSH Releases in a Deployment
You can include additional features in the BOSH Director through targeted customization of the manifest.yml. The only software you can include in the BOSH Director is additional BOSH releases.
All additional releases must be available at an HTTP address that Ops Manager can reach. You cannot host or store additional BOSH releases on Ops Manager or the BOSH Director.
To include custom BOSH releases in the BOSH Director, create as many BOSH releases as you need and use the Ops Manager API to the location and necessary configuration properties each release.
For more information, see [Adding a job to the Director](https://docs.pivotal.io/platform/<%= vars.current_major_version.sub('.', '-') %>/opsman-api/#adding-a-job-to-the-director-vm) in the Ops Manager API documentation.
<p class="note warning"><strong>WARNING</strong>: Customizing the Director manifest incorrectly can cause deployment downtime or failure. Ops Manager does not perform any validations on software introduced to a deployment through manifest customizations. This feature is for advanced <%= vars.product_name %> operators only.</p>
For more information about writing the `manifest.yml` file, see the [BOSH documentation](https://bosh.io/docs/manifest-v2/#instance-groups).