forked from cloudfoundry/docs-bosh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
init-vsphere.html.md.erb
205 lines (153 loc) · 6.32 KB
/
init-vsphere.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
---
title: Initializing BOSH environment on vSphere
---
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 password. We recommend to replace them with passwords of your choice.</p>
<pre>
---
name: bosh
releases:{{ range .Releases }}
- name: {{ .Name }}
url: {{ .UserVisibleDownloadURL }}
sha1: {{ .TarballSHA1 }}{{ end }}
resource_pools:
- name: vms
network: private
stemcell:
url: https://bosh.io/d/stemcells/bosh-vsphere-esxi-ubuntu-trusty-go_agent?v=2950
sha1: 1153bc17fda0755fa8f99a3e360d952362170ac8
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: redis, 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
redis:
listen_address: 127.0.0.1
address: 127.0.0.1
password: redis-password
postgres: &db
listen_address: 127.0.0.1
host: 127.0.0.1
user: postgres
password: postgres-password
database: bosh
adapter: postgres
blobstore:
address: 10.0.0.6
port: 25250
provider: dav
director: {user: director, password: director-password}
agent: {user: agent, password: agent-password}
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}
- {name: hm, password: hm-password}
hm:
director_account: {user: hm, password: hm-password}
resurrector_enabled: true
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
persistent_datastore_pattern: DATASTORE-NAME
disk_path: DISK-FOLDER-NAME
clusters: [CLUSTER-NAME]
agent: {mbus: "nats://nats:[email protected]:4222"}
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"
properties:
vcenter: *vcenter
agent: {mbus: "https://mbus:[email protected]:6868"}
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; however, it does need certain user privileges.
- 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` (e.g. 'datastore1') with the name of the datastore 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)