forked from pivotal-cf/docs-ops-guide
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsingle-component.html.md.erb
311 lines (299 loc) · 8.81 KB
/
single-component.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
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
---
title: Understanding the Effects of Single Components on a Pivotal Cloud Foundry Upgrade
owner: Release Engineering
---
<strong><%= modified_date %></strong>
The **Resource Config** page of Pivotal Elastic Runtime tile in the [Pivotal Cloud Foundry](https://network.pivotal.io/products/pivotal-cf) (PCF)
Ops Manager shows the components that the Ops Manager Director installs.
You can specify the number of instances for some of the components.
We deliver the remaining resources as single components, meaning that they have a preconfigured and unchangeable value of one instance.
In a single-component environment, upgrading can cause the deployment to experience downtime and other limitations because there is no instance redundancy.
Although this behavior might be acceptable for a test environment, you should configure the scalable components with editable instance values, such as HAProxy,
Router, and Diego cells, for optimal performance in a production environment.
<p class="note"><strong>Note</strong>: A full Ops Manager upgrade may take close to two hours, and you will have limited ability to deploy an application during this time.</p>
### Summary of Component Limitations ###
The table lists components in the order that Ops Manager upgrades each component and includes the following columns:
* **Scalable?**: Indicates whether the component has an editable value or a preconfigured and unchangeable value of one instance.
<p class="note"><strong>Note</strong>: For components marked with a checkmark in this column, we recommend that you change the preconfigured instance value of 1 to a value that best supports your production environment. For more information about scaling a deployment, refer to the [Scaling Cloud Foundry topic](../concepts/high-availability.html).
* **Extended Downtime?**: Indicates that if there is only one instance of the component, that component is unavailable for up to five minutes during an Ops Manager upgrade.
* **Other Limitations and Information**: Provides the following information:
* Component availability, behavior, and usage during an upgrade
* Guidance on disabling the component before an upgrade</p>
<p class="note"><strong>Note</strong>: The table does not include the Run Smoke Tests and Run CF Acceptance Tests errands and the Compilation job. Ops Manager runs the errands after it upgrades the components and creates compilation VMs as needed during the upgrade process.</p>
<table border="1" class="nice" >
<tr>
<th><strong>Upgrade Order</strong></th>
<th><strong>Component</strong></th>
<th><strong>Scalable?</strong></th>
<th><strong>Extended Downtime?</strong></th>
<th><strong>Other Limitations and Information</strong></th>
</tr>
<tr>
<td>1</td>
<td>Consul</td>
<td>✓</td>
<td>✓</td>
<td>
Many components rely upon Consul for service discovery.
If Consul is unavailable, these components may fail in unexpected ways as they are not able to locate or communicate with other parts of the platform.
</td>
</tr>
<tr>
<td>2</td>
<td>NATS</td>
<td>✓</td>
<td>✓</td>
<td></td>
</tr>
<tr>
<td>3</td>
<td>etcd Server</td>
<td>✓</td>
<td>✓</td>
<td>
Several components rely upon etcd for configuration and persistence.
If etcd is unavailable, these components may fail in expected ways as they are not able to access their configuration or persisted data.
</td>
</tr>
<tr>
<td>4</td>
<td>File Storage</td>
<td></td>
<td>✓</td>
<td>
You cannot push, stage, or restart an app when an upgrade affects the file storage server.
</td>
</tr>
<tr>
<td>5</td>
<td>MySQL Proxy</td>
<td>✓</td>
<td>✓</td>
<td>
The MySQL Proxy is responsible for managing failover of the MySQL Servers.
If the Proxy becomes unavailable, then access to the MySQL Server could be broken.
</td>
</tr>
<tr>
<td>6</td>
<td>MySQL Server</td>
<td>✓</td>
<td>✓</td>
<td>
The MySQL Server is responsible for persisting internal databases for the platform.
If the MySQL Server becomes unavailable, then platform services that rely upon a database (Cloud Controller, UAA) will also become unavailable.
</td>
</tr>
<tr>
<td>7</td>
<td>Backup Prepare Node</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>8</td>
<td>Cloud Controller Database (Postgres)</td>
<td></td>
<td>✓</td>
<td></td>
</tr>
<tr>
<td>9</td>
<td>UAA Database (Postgres)</td>
<td></td>
<td>✓</td>
<td></td>
</tr>
<tr>
<td>10</td>
<td>UAA</td>
<td>✓</td>
<td></td>
<td>
If a user has an active authorization token prior to performing an upgrade, the user can still log in using either a UI or the CLI.
</td>
</tr>
<tr>
<td>11</td>
<td>Cloud Controller</td>
<td>✓</td>
<td>✓</td>
<td>
Your ability to manage an app when an upgrade affects the Cloud Controller depends on the number of instances that you specify for the Cloud Controller and Diego components.
If either of these components are single components, you cannot push, stage, or restart an app during the upgrade.
</td>
</tr>
<tr>
<td>12</td>
<td>HAProxy</td>
<td>✓</td>
<td>✓</td>
<td>
HAProxy is used to load-balance incoming requests to the Router.
If HAProxy is unavailable, you may lose the ability to make requests to applications unless there is another routing path from your load balancer to the Router.
</td>
</tr>
<tr>
<td>13</td>
<td>Router</td>
<td>✓</td>
<td>✓</td>
<td>
The Router is responsible for routing requests to their application containers.
If the Router is not available, then applications cannot receive requests.
</td>
</tr>
<tr>
<td>14</td>
<td>MySQL Monitor</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>15</td>
<td>Clock Global</td>
<td>✓</td>
<td></td>
<td></td>
</tr>
<tr>
<td>16</td>
<td>Cloud Controller Worker</td>
<td>✓</td>
<td>✓</td>
<td></td>
</tr>
<tr>
<td>17</td>
<td>Diego BBS</td>
<td>✓</td>
<td>✓</td>
<td>
Your ability to manage an app when an upgrade affects the Diego BBS depends on the number of instances that you specify for the Diego BBS, Cloud Controller, and other Diego components.
If any of these components have only one instance, you may fail to push, stage, or restart an app during the upgrade.
</td>
</tr>
<tr>
<td>18</td>
<td>Diego Brain</td>
<td>✓</td>
<td>✓</td>
<td>
Your ability to manage an app when an upgrade affects the Diego Brain depends on the number of instances that you specify for the Diego Brain, Cloud Controller, and other Diego components.
If any of these components have only one instance, you may fail to push, stage, or restart an app during the upgrade.
</td>
</tr>
<tr>
<td>19</td>
<td>Diego Cell</td>
<td>✓</td>
<td>✓</td>
<td>
Your ability to manage an app when an upgrade affects Diego Cells depends on the number of instances that you specify for the Diego Cells, Cloud Controller, and other Diego components.
If any of these components have only one instance, you may fail to push, stage, or restart an app during the upgrade.
<br/>
If you only have one Diego Cell, upgrading it causes downtime for the apps that run on it, including the Apps Manager app and the App Usage Service.
</td>
</tr>
<tr>
<td>20</td>
<td>Doppler Server</td>
<td>✓</td>
<td></td>
<td>
Ops Manager operators experience 2-5 minute gaps in logging.
</td>
</tr>
<tr>
<td>21</td>
<td>Loggregator Trafficcontroller</td>
<td>✓</td>
<td></td>
<td>
Ops Manager operators experience 2-5 minute gaps in logging.
</td>
</tr>
<tr>
<td>22</td>
<td>TCP Router</td>
<td>✓</td>
<td></td>
<td></td>
</tr>
<tr>
<td>23</td>
<td>Push Apps Manager errand</td>
<td></td>
<td></td>
<td>
This errand runs the script to deploy the Apps Manager application.
<br />
The Apps Manager application runs in a single Diego Cell.
</td>
</tr>
<tr>
<td>24</td>
<td>Run Smoke Tests</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>25</td>
<td>Push Notifications</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>26</td>
<td>Push Notifications UI</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>27</td>
<td>Push Autoscaling</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>28</td>
<td>Register Autoscaling Service Broker</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>29</td>
<td>Destroy Autoscaling Service Broker</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>30</td>
<td>Bootstrap</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>31</td>
<td>Push Pivotal Account</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>32</td>
<td>MySQL Rejoin Unsafe Errand</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>