forked from cloudfoundry/docs-bosh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
init-vsphere-v1.html.md.erb
210 lines (158 loc) · 6.79 KB
/
init-vsphere-v1.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
---
title: Initializing BOSH environment on vSphere
---
<p class="note">Note: See <a href="init-vsphere.html">Creating environment on vSphere</a> with CLI v2. (Recommended)</p>
This document shows how to initialize new [environment](terminology.html#environment) on vSphere.
## <a id="create-manifest"></a>Step 1: Create a Deployment Manifest
1. Create a deployment directory.
<pre class='terminal'>
$ mkdir ~/my-bosh
</pre>
1. Create a deployment manifest file named `bosh.yml` in the deployment directory based on the template below.
<p class="note"><strong>Note</strong>: The example below uses several predefined passwords. We recommend replacing them with passwords of your choice.</p>
<pre id="manifest">
---
name: bosh
releases:{{ range .Releases }}
- name: {{ .Name }}
url: {{ .UserVisibleDownloadURL }}
sha1: {{ .TarballSHA1 }}{{ end }}
resource_pools:
- name: vms
network: private
stemcell:
url: {{ .Stemcell.UserVisibleDownloadURL }}
sha1: {{ .Stemcell.SHA1 }}
cloud_properties:
cpu: 2
ram: 4_096
disk: 20_000
env:
bosh:
# c1oudc0w is a default password for vcap user
password: "$6$4gDD3aV0rdqlrKC$2axHCxGKIObs6tAmMTqYCspcdvQXh3JJcvWOY2WGb4SrdXtnCyNaWlrf3WEqvYR2MYizEGp3kMmbpwBC6jsHt0"
disk_pools:
- name: disks
disk_size: 20_000
networks:
- name: private
type: manual
subnets:
- range: 10.0.0.0/24
gateway: 10.0.0.1
dns: [10.0.0.2]
cloud_properties: {name: NETWORK-NAME} # <--- Replace with Network name
jobs:
- name: bosh
instances: 1
templates:
- {name: nats, release: bosh}
- {name: postgres, release: bosh}
- {name: blobstore, release: bosh}
- {name: director, release: bosh}
- {name: health_monitor, release: bosh}
- {name: vsphere_cpi, release: bosh-vsphere-cpi}
resource_pool: vms
persistent_disk_pool: disks
networks:
- {name: private, static_ips: [10.0.0.6]}
properties:
nats:
address: 127.0.0.1
user: nats
# password: nats-password # <--- Uncomment & change
postgres: &db
listen_address: 127.0.0.1
host: 127.0.0.1
user: postgres
# password: postgres-password # <--- Uncomment & change
database: bosh
adapter: postgres
blobstore:
address: 10.0.0.6
port: 25250
provider: dav
director:
user: director
# password: director-password # <--- Uncomment & change
agent:
user: agent
# password: agent-password # <--- Uncomment & change
director:
address: 127.0.0.1
name: my-bosh
db: *db
cpi_job: vsphere_cpi
user_management:
provider: local
local:
users:
# - {name: admin, password: admin} # <--- Uncomment & change
# - {name: hm, password: hm-password} # <--- Uncomment & change
hm:
director_account:
user: hm
# password: hm-password # <--- Uncomment & change
resurrector_enabled: true
intervals:
agent_timeout: 180
vcenter: &vcenter # <--- Replace values below
address: VCENTER-IP
user: VCENTER-USER
password: VCENTER-PASSWORD
datacenters:
- name: DATACENTER-NAME
vm_folder: VMS-FOLDER-NAME
template_folder: TEMPLATES-FOLDER-NAME
datastore_pattern: DATASTORE-NAME-PATTERN
persistent_datastore_pattern: DATASTORE-NAME-PATTERN
disk_path: DISK-FOLDER-NAME
clusters: [CLUSTER-NAME]
# agent: {mbus: "nats://nats:[email protected]:4222"} # <--- Uncomment & change
ntp: &ntp [0.pool.ntp.org, 1.pool.ntp.org]
cloud_provider:
template: {name: vsphere_cpi, release: bosh-vsphere-cpi}
# mbus: "https://mbus:[email protected]:6868" # <--- Uncomment & change
properties:
vcenter: *vcenter
# agent: {mbus: "https://mbus:[email protected]:6868"} # <--- Uncomment & change
blobstore: {provider: local, path: /var/vcap/micro_bosh/data/cache}
ntp: *ntp
</pre>
---
## <a id="prepare"></a> Step 2: Prepare a vSphere Environment
To prepare your vSphere environment, use the vSphere Web Client to find out and/or create any missing resources listed below:
- Replace `VCENTER-IP` (e.g. '192.168.0.10') with the IP of the vCenter.
- Replace `VCENTER-USER` (e.g. 'root') and `VCENTER-PASSWORD` (e.g. 'vmware') in your deployment manifest with vCenter user name and password.
BOSH does not require user to be an admin, but it does require the following [privileges](https://github.com/cloudfoundry-incubator/bosh-vsphere-cpi-release/blob/master/docs/required_vcenter_privileges.md).
- Replace `DATACENTER-NAME` (e.g. 'my-dc') with the name of the datacenter the Director will use for VM creation.
- Replace `VMS-FOLDER-NAME` (e.g. 'my-bosh-vms') and `TEMPLATES-FOLDER-NAME` (e.g. 'my-bosh-templates') with the name of the folder created to hold VMs and the name of the folder created to hold stemcells. Folders will be automatically created under the chosen datacenter.
- Replace `DATASTORE-NAME-PATTERN` (e.g. 'datastore[1-9]') with a regex matching the names of potential datastores the Director will use for storing VMs and associated persistent disks.
- Replace `DISK-FOLDER-NAME` (e.g. 'my-bosh-disks') with the name of the VMs folder. Disk folder will be automatically created in the chosen datastore.
- Replace `CLUSTER-NAME` (e.g. 'cluster1') with the name of the vSphere cluster. Create cluster under the chosen datacenter in the Clusters tab.
- Replace `NETWORK-NAME` (e.g. 'VM Network') with the name of the vSphere network. Create network under the chosen datacenter in the Networks tab. Deployment manifest assumes that this network is `10.0.0.0/24` and Director VM will be placed at `10.0.0.6`.
---
## <a id="deploy"></a> Step 3: Deploy
<p class="note">Note: See <a href="migrate-to-bosh-init.html">Migrating to bosh-init from the micro CLI plugin</a> if you have an existing MicroBOSH.</p>
1. Install [bosh-init](./install-bosh-init.html).
1. Run `bosh-init deploy ./bosh.yml` to start the deployment process.
<pre class='terminal'>
$ bosh-init deploy ./bosh.yml
...
</pre>
See [vSphere CPI errors](vsphere-cpi.html#errors) for list of common errors and resolutions.
1. Install the [BOSH Command Line Interface (CLI)](./bosh-cli.html).
1. Use `bosh target 10.0.0.6` to log into your new BOSH Director. The default username and password are `admin` and `admin`.
<pre class="terminal">
$ bosh target 10.0.0.6
Target set to 'bosh'
Your username: admin
Enter password: *****
Logged in as 'admin'
$ bosh vms
No deployments
</pre>
1. Save the deployment state file left in your deployment directory so you can later update/delete your Director. See [Deployment state](using-bosh-init.html#deployment-state) section of 'Using bosh-init' for more details.
---
[Back to Table of Contents](index.html#install)
Previous: [Bootstrapping an environment](init.html)