Merge lp:~james-page/serverguide/12.10-updates into lp:~ubuntu-core-doc/serverguide/quantal
- 12.10-updates
- Merge into quantal
Proposed by
James Page
Status: | Merged |
---|---|
Merged at revision: | 95 |
Proposed branch: | lp:~james-page/serverguide/12.10-updates |
Merge into: | lp:~ubuntu-core-doc/serverguide/quantal |
Diff against target: |
1095 lines (+14/-1038) 2 files modified
serverguide/C/installation.xml (+13/-12) serverguide/C/virtualization.xml (+1/-1026) |
To merge this branch: | bzr merge lp:~james-page/serverguide/12.10-updates |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Peter Matulis | Approve | ||
Review via email: mp+128906@code.launchpad.net |
Commit message
Description of the change
Two key updates:
1) Based on current server install minimum requirements, the minimum
hardware requirements for Ubuntu server have been increased and split
between a 'Standard' install and a 'Minimal' install.
2) Ubuntu Enterprise Cloud is no longer part of Ubuntu; dropped from
documentation.
To post a comment you must log in.
Revision history for this message
Peter Matulis (petermatulis) wrote : | # |
It's late to be accepting changes. I'll send a note to ubuntu-doc and ubuntu-server mailing lists.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'serverguide/C/installation.xml' | |||
2 | --- serverguide/C/installation.xml 2012-04-06 20:16:46 +0000 | |||
3 | +++ serverguide/C/installation.xml 2012-10-10 11:27:39 +0000 | |||
4 | @@ -44,11 +44,18 @@ | |||
5 | 44 | </thead> | 44 | </thead> |
6 | 45 | <tbody> | 45 | <tbody> |
7 | 46 | <row> | 46 | <row> |
9 | 47 | <entry><para>Server</para></entry> | 47 | <entry><para>Server (Standard)</para></entry> |
10 | 48 | <entry><para>1 gigahertz</para></entry> | ||
11 | 49 | <entry><para>512 megabytes</para></entry> | ||
12 | 50 | <entry><para>1 gigabyte</para></entry> | ||
13 | 51 | <entry><para>1.75 gigabytes</para></entry> | ||
14 | 52 | </row> | ||
15 | 53 | <row> | ||
16 | 54 | <entry><para>Server (Minimal)</para></entry> | ||
17 | 48 | <entry><para>300 megahertz</para></entry> | 55 | <entry><para>300 megahertz</para></entry> |
21 | 49 | <entry><para>128 megabytes</para></entry> | 56 | <entry><para>256 megabytes</para></entry> |
22 | 50 | <entry><para>500 megabytes</para></entry> | 57 | <entry><para>700 megabytes</para></entry> |
23 | 51 | <entry><para>1 gigabyte</para></entry> | 58 | <entry><para>1.4 gigabytes</para></entry> |
24 | 52 | </row> | 59 | </row> |
25 | 53 | </tbody> | 60 | </tbody> |
26 | 54 | </tgroup> | 61 | </tgroup> |
27 | @@ -58,12 +65,6 @@ | |||
28 | 58 | It is a minimalist design providing a platform for the desired services, such | 65 | It is a minimalist design providing a platform for the desired services, such |
29 | 59 | as file/print services, web hosting, email hosting, etc. | 66 | as file/print services, web hosting, email hosting, etc. |
30 | 60 | </para> | 67 | </para> |
31 | 61 | |||
32 | 62 | <para> | ||
33 | 63 | The requirements for UEC are slightly different; for Front End requirements see <xref linkend="uec-frontend-requirements"/>, and for | ||
34 | 64 | UEC Node requirements see <xref linkend="uec-node-requirements"/>. | ||
35 | 65 | </para> | ||
36 | 66 | |||
37 | 67 | </sect2> | 68 | </sect2> |
38 | 68 | 69 | ||
39 | 69 | <sect2 id="intro-server-differences" status="review"> | 70 | <sect2 id="intro-server-differences" status="review"> |
40 | @@ -75,8 +76,8 @@ | |||
41 | 75 | application on the Desktop Edition as it is on the Server Edition. | 76 | application on the Desktop Edition as it is on the Server Edition. |
42 | 76 | </para> | 77 | </para> |
43 | 77 | <para> | 78 | <para> |
46 | 78 | The differences between the two editions are the lack of an X window environment in the Server Edition, | 79 | The differences between the two editions are the lack of an X window environment in the Server Edition and |
47 | 79 | the installation process, and different Kernel options. | 80 | the installation process. |
48 | 80 | </para> | 81 | </para> |
49 | 81 | <para> | 82 | <para> |
50 | 82 | </para> | 83 | </para> |
51 | 83 | 84 | ||
52 | === modified file 'serverguide/C/virtualization.xml' | |||
53 | --- serverguide/C/virtualization.xml 2012-09-20 20:15:05 +0000 | |||
54 | +++ serverguide/C/virtualization.xml 2012-10-10 11:27:39 +0000 | |||
55 | @@ -1092,1031 +1092,6 @@ | |||
56 | 1092 | </itemizedlist> | 1092 | </itemizedlist> |
57 | 1093 | </sect2> | 1093 | </sect2> |
58 | 1094 | </sect1> | 1094 | </sect1> |
59 | 1095 | <sect1 id="uec" status="review"> | ||
60 | 1096 | <title>UEC</title> | ||
61 | 1097 | |||
62 | 1098 | <sect2 id="uec-overview" status="review"> | ||
63 | 1099 | <title>Overview</title> | ||
64 | 1100 | |||
65 | 1101 | <warning> | ||
66 | 1102 | <para> | ||
67 | 1103 | UEC (Ubuntu Enterprise Cloud) is now depracated in favour of UC (Ubuntu Cloud). The former is based on Eucalyptus and the latter | ||
68 | 1104 | is based on Openstack. This section of the guide will be removed in future iterations. | ||
69 | 1105 | </para> | ||
70 | 1106 | </warning> | ||
71 | 1107 | |||
72 | 1108 | <para> | ||
73 | 1109 | This tutorial covers <application>UEC</application> installation from the Ubuntu &distro-rev; Server Edition CD, and assumes a basic network topology, | ||
74 | 1110 | with a single system serving as the <emphasis>"all-in-one controller"</emphasis>, and one or more nodes attached. | ||
75 | 1111 | </para> | ||
76 | 1112 | |||
77 | 1113 | <para> | ||
78 | 1114 | From this Tutorial you will learn how to install, configure, register and perform several operations on a basic <application>UEC</application> | ||
79 | 1115 | setup that results in a cloud with a one controller <emphasis>"front-end"</emphasis> and one or several node(s) for running Virtual Machine (VM) | ||
80 | 1116 | instances. You will also use examples to help get you started using your own private compute cloud. | ||
81 | 1117 | </para> | ||
82 | 1118 | |||
83 | 1119 | </sect2> | ||
84 | 1120 | <sect2 id="uec-prerequisites" status="review"> | ||
85 | 1121 | <title>Prerequisites</title> | ||
86 | 1122 | |||
87 | 1123 | <para> | ||
88 | 1124 | To deploy a minimal cloud infrastructure, you’ll need at least <emphasis>two</emphasis> dedicated systems: | ||
89 | 1125 | </para> | ||
90 | 1126 | |||
91 | 1127 | <itemizedlist> | ||
92 | 1128 | <listitem> | ||
93 | 1129 | <para> | ||
94 | 1130 | A front end. | ||
95 | 1131 | </para> | ||
96 | 1132 | </listitem> | ||
97 | 1133 | <listitem> | ||
98 | 1134 | <para> | ||
99 | 1135 | One or more node(s). | ||
100 | 1136 | </para> | ||
101 | 1137 | </listitem> | ||
102 | 1138 | </itemizedlist> | ||
103 | 1139 | |||
104 | 1140 | <para> | ||
105 | 1141 | The following are recommendations, rather than fixed requirements. However, our experience in developing this documentation indicated the following suggestions. | ||
106 | 1142 | </para> | ||
107 | 1143 | |||
108 | 1144 | <sect3 id="uec-frontend-requirements" status="review"> | ||
109 | 1145 | <title>Front End Requirements</title> | ||
110 | 1146 | |||
111 | 1147 | <para> | ||
112 | 1148 | Use the following table for a system that will run one or more of: | ||
113 | 1149 | </para> | ||
114 | 1150 | |||
115 | 1151 | <itemizedlist> | ||
116 | 1152 | <listitem><para>Cloud Controller (CLC)</para></listitem> | ||
117 | 1153 | <listitem><para>Cluster Controller (CC)</para></listitem> | ||
118 | 1154 | <listitem><para>Walrus (the S3-like storage service)</para></listitem> | ||
119 | 1155 | <listitem><para>Storage Controller (SC)</para></listitem> | ||
120 | 1156 | </itemizedlist> | ||
121 | 1157 | |||
122 | 1158 | <literallayout> | ||
123 | 1159 | |||
124 | 1160 | |||
125 | 1161 | |||
126 | 1162 | |||
127 | 1163 | |||
128 | 1164 | |||
129 | 1165 | |||
130 | 1166 | |||
131 | 1167 | </literallayout> | ||
132 | 1168 | |||
133 | 1169 | <table> | ||
134 | 1170 | <title>UEC Front End Requirements</title> | ||
135 | 1171 | <tgroup cols="4" rowsep="1"> | ||
136 | 1172 | <colspec colname="1" colwidth="1.0*"/> | ||
137 | 1173 | <colspec colname="2" colwidth="1.0*"/> | ||
138 | 1174 | <colspec colname="3" colwidth="1.0*"/> | ||
139 | 1175 | <colspec colname="4" colwidth="4.5*"/> | ||
140 | 1176 | <thead> | ||
141 | 1177 | <row> | ||
142 | 1178 | <entry valign="middle"><para>Hardware</para></entry> | ||
143 | 1179 | <entry valign="middle"><para>Minimum</para></entry> | ||
144 | 1180 | <entry valign="middle"><para>Suggested</para></entry> | ||
145 | 1181 | <entry valign="middle"><para>Notes</para></entry> | ||
146 | 1182 | </row> | ||
147 | 1183 | </thead> | ||
148 | 1184 | <tbody> | ||
149 | 1185 | <row> | ||
150 | 1186 | <entry><para>CPU</para></entry> | ||
151 | 1187 | <entry><para>1 GHz</para></entry> | ||
152 | 1188 | <entry><para>2 x 2 GHz</para></entry> | ||
153 | 1189 | <entry><para>For an <emphasis>all-in-one</emphasis> front end, it helps to have at least a dual core processor.</para></entry> | ||
154 | 1190 | </row> | ||
155 | 1191 | <row> | ||
156 | 1192 | <entry><para>Memory</para></entry> | ||
157 | 1193 | <entry><para>2 GB</para></entry> | ||
158 | 1194 | <entry><para>4 GB</para></entry> | ||
159 | 1195 | <entry><para>The Java web front end benefits from lots of available memory.</para></entry> | ||
160 | 1196 | </row> | ||
161 | 1197 | <row> | ||
162 | 1198 | <entry><para>Disk</para></entry> | ||
163 | 1199 | <entry><para>5400 RPM IDE</para></entry> | ||
164 | 1200 | <entry><para>7200 RPM SATA</para></entry> | ||
165 | 1201 | <entry><para>Slower disks will work, but will yield much longer instance startup times.</para></entry> | ||
166 | 1202 | </row> | ||
167 | 1203 | <row> | ||
168 | 1204 | <entry><para>Disk Space</para></entry> | ||
169 | 1205 | <entry><para>40 GB</para></entry> | ||
170 | 1206 | <entry><para>200 GB</para></entry> | ||
171 | 1207 | <entry><para>40GB is only enough space for only a single image, cache, etc., Eucalyptus does not like to run out of disk space.</para></entry> | ||
172 | 1208 | </row> | ||
173 | 1209 | <row> | ||
174 | 1210 | <entry><para>Networking</para></entry> | ||
175 | 1211 | <entry><para>100 Mbps</para></entry> | ||
176 | 1212 | <entry><para>1000 Mbps</para></entry> | ||
177 | 1213 | <entry><para>Machine images are hundreds of MB, and need to be copied over the network to nodes.</para></entry> | ||
178 | 1214 | </row> | ||
179 | 1215 | </tbody> | ||
180 | 1216 | </tgroup> | ||
181 | 1217 | </table> | ||
182 | 1218 | |||
183 | 1219 | </sect3> | ||
184 | 1220 | <sect3 id="uec-node-requirements" status="review"> | ||
185 | 1221 | <title>Node Requirements</title> | ||
186 | 1222 | |||
187 | 1223 | <para> | ||
188 | 1224 | The other system(s) are <emphasis>nodes</emphasis>, which will run: | ||
189 | 1225 | </para> | ||
190 | 1226 | |||
191 | 1227 | <itemizedlist> | ||
192 | 1228 | <listitem><para>the Node Controller (NC)</para></listitem> | ||
193 | 1229 | </itemizedlist> | ||
194 | 1230 | |||
195 | 1231 | <table> | ||
196 | 1232 | <title>UEC Node Requirements</title> | ||
197 | 1233 | <tgroup cols="4" rowsep="1"> | ||
198 | 1234 | <colspec colname="1" colwidth="1.0*"/> | ||
199 | 1235 | <colspec colname="2" colwidth="1.0*"/> | ||
200 | 1236 | <colspec colname="3" colwidth="1.3*"/> | ||
201 | 1237 | <colspec colname="4" colwidth="4.5*"/> | ||
202 | 1238 | <thead> | ||
203 | 1239 | <row> | ||
204 | 1240 | <entry valign="middle"><para>Hardware</para></entry> | ||
205 | 1241 | <entry valign="middle"><para>Minimum</para></entry> | ||
206 | 1242 | <entry valign="middle"><para>Suggested</para></entry> | ||
207 | 1243 | <entry valign="middle"><para>Notes</para></entry> | ||
208 | 1244 | </row> | ||
209 | 1245 | </thead> | ||
210 | 1246 | <tbody> | ||
211 | 1247 | <row> | ||
212 | 1248 | <entry><para>CPU</para></entry> | ||
213 | 1249 | <entry><para>VT Extensions</para></entry> | ||
214 | 1250 | <entry><para>VT, 64-bit, Multicore</para></entry> | ||
215 | 1251 | <entry><para>64-bit can run both i386, and amd64 instances; by default, Eucalyptus will only run 1 VM per CPU core on a Node.</para></entry> | ||
216 | 1252 | </row> | ||
217 | 1253 | <row> | ||
218 | 1254 | <entry><para>Memory</para></entry> | ||
219 | 1255 | <entry><para>1 GB</para></entry> | ||
220 | 1256 | <entry><para>4 GB</para></entry> | ||
221 | 1257 | <entry><para>Additional memory means more, and larger guests.</para></entry> | ||
222 | 1258 | </row> | ||
223 | 1259 | <row> | ||
224 | 1260 | <entry><para>Disk</para></entry> | ||
225 | 1261 | <entry><para>5400 RPM IDE</para></entry> | ||
226 | 1262 | <entry><para>7200 RPM SATA or SCSI</para></entry> | ||
227 | 1263 | <entry><para>Eucalyptus nodes are disk-intensive; I/O wait will likely be the performance bottleneck.</para></entry> | ||
228 | 1264 | </row> | ||
229 | 1265 | <row> | ||
230 | 1266 | <entry><para>Disk Space</para></entry> | ||
231 | 1267 | <entry><para>40 GB</para></entry> | ||
232 | 1268 | <entry><para>100 GB</para></entry> | ||
233 | 1269 | <entry><para>Images will be cached locally, Eucalyptus does not like to run out of disk space.</para></entry> | ||
234 | 1270 | </row> | ||
235 | 1271 | <row> | ||
236 | 1272 | <entry><para>Networking</para></entry> | ||
237 | 1273 | <entry><para>100 Mbps</para></entry> | ||
238 | 1274 | <entry><para>1000 Mbps</para></entry> | ||
239 | 1275 | <entry><para>Machine images are hundreds of MB, and need to be copied over the network to nodes.</para></entry> | ||
240 | 1276 | </row> | ||
241 | 1277 | </tbody> | ||
242 | 1278 | </tgroup> | ||
243 | 1279 | </table> | ||
244 | 1280 | |||
245 | 1281 | </sect3> | ||
246 | 1282 | |||
247 | 1283 | </sect2> | ||
248 | 1284 | <sect2 id="uec-frontend-installation" status="review"> | ||
249 | 1285 | <title>Installing the Cloud/Cluster/Storage/Walrus Front End Server</title> | ||
250 | 1286 | |||
251 | 1287 | <procedure> | ||
252 | 1288 | <step> | ||
253 | 1289 | <para> | ||
254 | 1290 | Download the Ubuntu &distro-rev; Server ISO file, and burn it to a CD. | ||
255 | 1291 | </para> | ||
256 | 1292 | </step> | ||
257 | 1293 | <step> | ||
258 | 1294 | <para> | ||
259 | 1295 | When you boot, select <emphasis>“Install Ubuntu Enterprise Cloud”</emphasis>. The installer will detect if any other Eucalyptus components are present. | ||
260 | 1296 | </para> | ||
261 | 1297 | </step> | ||
262 | 1298 | <step> | ||
263 | 1299 | <para> | ||
264 | 1300 | You can then choose which components to install, based on your chosen <ulink url="https://help.ubuntu.com/community/UEC/Topologies">topology</ulink>. | ||
265 | 1301 | </para> | ||
266 | 1302 | </step> | ||
267 | 1303 | <step> | ||
268 | 1304 | <para> | ||
269 | 1305 | When asked whether you want a <emphasis>“Cluster”</emphasis> or a <emphasis>“Node”</emphasis> install, select | ||
270 | 1306 | <emphasis>“Cluster”</emphasis>. | ||
271 | 1307 | </para> | ||
272 | 1308 | </step> | ||
273 | 1309 | <step> | ||
274 | 1310 | <para> | ||
275 | 1311 | It will ask two other cloud-specific questions during the course of the install: | ||
276 | 1312 | </para> | ||
277 | 1313 | <itemizedlist> | ||
278 | 1314 | <listitem> | ||
279 | 1315 | <para> | ||
280 | 1316 | Name of your cluster. | ||
281 | 1317 | </para> | ||
282 | 1318 | <itemizedlist><listitem><para>e.g. <emphasis>cluster1</emphasis>.</para></listitem></itemizedlist> | ||
283 | 1319 | </listitem> | ||
284 | 1320 | <listitem> | ||
285 | 1321 | <para> | ||
286 | 1322 | A range of public IP addresses on the LAN that the cloud can allocate to instances. | ||
287 | 1323 | </para> | ||
288 | 1324 | <itemizedlist><listitem><para>e.g. <emphasis>192.168.1.200-192.168.1.249</emphasis>.</para></listitem></itemizedlist> | ||
289 | 1325 | </listitem> | ||
290 | 1326 | </itemizedlist> | ||
291 | 1327 | </step> | ||
292 | 1328 | </procedure> | ||
293 | 1329 | |||
294 | 1330 | </sect2> | ||
295 | 1331 | <sect2 id="uec-node-installation" status="review"> | ||
296 | 1332 | <title>Installing the Node Controller(s)</title> | ||
297 | 1333 | |||
298 | 1334 | <para> | ||
299 | 1335 | The node controller install is even simpler. Just make sure that you are connected to the network on which the cloud/cluster controller is already running. | ||
300 | 1336 | </para> | ||
301 | 1337 | |||
302 | 1338 | <procedure> | ||
303 | 1339 | <step> | ||
304 | 1340 | <para> | ||
305 | 1341 | Boot from the same ISO on the node(s). | ||
306 | 1342 | </para> | ||
307 | 1343 | </step> | ||
308 | 1344 | <step> | ||
309 | 1345 | <para> | ||
310 | 1346 | When you boot, select <emphasis>“Install Ubuntu Enterprise Cloud”</emphasis>. | ||
311 | 1347 | </para> | ||
312 | 1348 | </step> | ||
313 | 1349 | <step> | ||
314 | 1350 | <para> | ||
315 | 1351 | Select <emphasis>“Install Ubuntu Enterprise Cloud”</emphasis>. | ||
316 | 1352 | </para> | ||
317 | 1353 | </step> | ||
318 | 1354 | <step> | ||
319 | 1355 | <para> | ||
320 | 1356 | It should detect the Cluster and preselect <emphasis>“Node”</emphasis> install for you. | ||
321 | 1357 | </para> | ||
322 | 1358 | </step> | ||
323 | 1359 | <step> | ||
324 | 1360 | <para> | ||
325 | 1361 | Confirm the partitioning scheme. | ||
326 | 1362 | </para> | ||
327 | 1363 | </step> | ||
328 | 1364 | <step> | ||
329 | 1365 | <para> | ||
330 | 1366 | The rest of the installation should proceed uninterrupted; complete the installation and reboot the node. | ||
331 | 1367 | </para> | ||
332 | 1368 | </step> | ||
333 | 1369 | </procedure> | ||
334 | 1370 | |||
335 | 1371 | </sect2> | ||
336 | 1372 | <sect2 id="uec-register-nodes" status="review"> | ||
337 | 1373 | <title>Register the Node(s)</title> | ||
338 | 1374 | |||
339 | 1375 | <procedure> | ||
340 | 1376 | <step> | ||
341 | 1377 | |||
342 | 1378 | <para> | ||
343 | 1379 | Nodes are the physical systems within <application>UEC</application> that actually run the virtual machine instances of the cloud. | ||
344 | 1380 | </para> | ||
345 | 1381 | |||
346 | 1382 | <para> | ||
347 | 1383 | All component registration should be automatic, assuming: | ||
348 | 1384 | </para> | ||
349 | 1385 | |||
350 | 1386 | <orderedlist numeration="loweralpha"> | ||
351 | 1387 | <listitem> | ||
352 | 1388 | <para> | ||
353 | 1389 | Public SSH keys have been exchanged properly. | ||
354 | 1390 | </para> | ||
355 | 1391 | </listitem> | ||
356 | 1392 | <listitem> | ||
357 | 1393 | <para> | ||
358 | 1394 | The services are configured properly. | ||
359 | 1395 | </para> | ||
360 | 1396 | </listitem> | ||
361 | 1397 | <listitem> | ||
362 | 1398 | <para> | ||
363 | 1399 | The appropriate <emphasis>uec-component-listener</emphasis> is running. | ||
364 | 1400 | </para> | ||
365 | 1401 | </listitem> | ||
366 | 1402 | <listitem> | ||
367 | 1403 | <para> | ||
368 | 1404 | Verify Registration. | ||
369 | 1405 | </para> | ||
370 | 1406 | </listitem> | ||
371 | 1407 | </orderedlist> | ||
372 | 1408 | |||
373 | 1409 | <para> | ||
374 | 1410 | Steps a to e should only be required if you're using the <ulink url="https://help.ubuntu.com/community/UEC/PackageInstall">UEC/PackageInstall</ulink> method. | ||
375 | 1411 | Otherwise, if you are following this guide, these steps should already be completed automatically for you, and therefore you can skip <emphasis>"a"</emphasis> | ||
376 | 1412 | to <emphasis>"e"</emphasis>. | ||
377 | 1413 | </para> | ||
378 | 1414 | <para> </para> | ||
379 | 1415 | <para> </para> | ||
380 | 1416 | <para> </para> | ||
381 | 1417 | </step> | ||
382 | 1418 | <step> | ||
383 | 1419 | <para>Exchange Public Keys</para> | ||
384 | 1420 | |||
385 | 1421 | <para> | ||
386 | 1422 | The Cloud Controller's <emphasis>eucalyptus</emphasis> user needs to have SSH access to the Walrus Controller, Cluster Controller, and Storage Controller | ||
387 | 1423 | as the eucalyptus user. | ||
388 | 1424 | </para> | ||
389 | 1425 | |||
390 | 1426 | <para> | ||
391 | 1427 | Install the Cloud Controller's <emphasis>eucalyptus</emphasis> user's public ssh key by: | ||
392 | 1428 | </para> | ||
393 | 1429 | |||
394 | 1430 | <itemizedlist> | ||
395 | 1431 | <listitem> | ||
396 | 1432 | <para> | ||
397 | 1433 | On the target controller, temporarily set a password for the eucalyptus user: | ||
398 | 1434 | </para> | ||
399 | 1435 | <screen> | ||
400 | 1436 | <command>sudo passwd eucalyptus</command> | ||
401 | 1437 | </screen> | ||
402 | 1438 | </listitem> | ||
403 | 1439 | <listitem> | ||
404 | 1440 | <para> | ||
405 | 1441 | Then, on the Cloud Controller: | ||
406 | 1442 | </para> | ||
407 | 1443 | <screen> | ||
408 | 1444 | <command>sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub \ | ||
409 | 1445 | eucalyptus@<IP_OF_NODE></command> | ||
410 | 1446 | </screen> | ||
411 | 1447 | </listitem> | ||
412 | 1448 | <listitem> | ||
413 | 1449 | <para> | ||
414 | 1450 | You can now remove the password of the eucalyptus account on the target controller, if you wish: | ||
415 | 1451 | </para> | ||
416 | 1452 | <screen> | ||
417 | 1453 | <command>sudo passwd -d eucalyptus</command> | ||
418 | 1454 | </screen> | ||
419 | 1455 | </listitem> | ||
420 | 1456 | </itemizedlist> | ||
421 | 1457 | |||
422 | 1458 | </step> | ||
423 | 1459 | <step> | ||
424 | 1460 | <para>Configuring the Services</para> | ||
425 | 1461 | |||
426 | 1462 | <para> | ||
427 | 1463 | On the <emphasis>Cloud Controller</emphasis>: | ||
428 | 1464 | </para> | ||
429 | 1465 | |||
430 | 1466 | <itemizedlist> | ||
431 | 1467 | <listitem> | ||
432 | 1468 | <para> | ||
433 | 1469 | For the <emphasis>Cluster Controller</emphasis> Registration: | ||
434 | 1470 | </para> | ||
435 | 1471 | <itemizedlist> | ||
436 | 1472 | <listitem><para>Define the shell variable CC_NAME in <filename>/etc/eucalyptus/eucalyptus-cc.conf</filename></para></listitem> | ||
437 | 1473 | <listitem> | ||
438 | 1474 | <para> | ||
439 | 1475 | Define the shell variable CC_IP_ADDR in <filename>/etc/eucalyptus/eucalyptus-ipaddr.conf</filename>, as a space separated list of one or more IP addresses. | ||
440 | 1476 | </para> | ||
441 | 1477 | </listitem> | ||
442 | 1478 | </itemizedlist> | ||
443 | 1479 | </listitem> | ||
444 | 1480 | <listitem> | ||
445 | 1481 | <para> | ||
446 | 1482 | For the <emphasis>Walrus Controller</emphasis> Registration: | ||
447 | 1483 | </para> | ||
448 | 1484 | <itemizedlist> | ||
449 | 1485 | <listitem><para>Define the shell variable WALRUS_IP_ADDR in <filename>/etc/eucalyptus/eucalyptus-ipaddr.conf</filename>, as a single IP address.</para></listitem> | ||
450 | 1486 | </itemizedlist> | ||
451 | 1487 | </listitem> | ||
452 | 1488 | </itemizedlist> | ||
453 | 1489 | |||
454 | 1490 | <para> | ||
455 | 1491 | On the <emphasis>Cluster Controller</emphasis>: | ||
456 | 1492 | </para> | ||
457 | 1493 | |||
458 | 1494 | <itemizedlist> | ||
459 | 1495 | <listitem> | ||
460 | 1496 | <para> | ||
461 | 1497 | For <emphasis>Storage Controller</emphasis> Registration: | ||
462 | 1498 | </para> | ||
463 | 1499 | <itemizedlist> | ||
464 | 1500 | <listitem><para>Define the shell variable CC_NAME in <filename>/etc/eucalyptus/eucalyptus-cc.conf</filename></para></listitem> | ||
465 | 1501 | <listitem> | ||
466 | 1502 | <para> | ||
467 | 1503 | Define the shell variable SC_IP_ADDR in <filename>/etc/eucalyptus/eucalyptus-ipaddr.conf</filename>, as a space separated list of one or more IP addresses. | ||
468 | 1504 | </para> | ||
469 | 1505 | </listitem> | ||
470 | 1506 | </itemizedlist> | ||
471 | 1507 | </listitem> | ||
472 | 1508 | </itemizedlist> | ||
473 | 1509 | |||
474 | 1510 | </step> | ||
475 | 1511 | <step> | ||
476 | 1512 | <para>Publish</para> | ||
477 | 1513 | |||
478 | 1514 | <para> | ||
479 | 1515 | Now start the publication services. | ||
480 | 1516 | </para> | ||
481 | 1517 | |||
482 | 1518 | <itemizedlist> | ||
483 | 1519 | <listitem> | ||
484 | 1520 | <para><emphasis>Walrus Controller:</emphasis></para> | ||
485 | 1521 | <screen> | ||
486 | 1522 | <command>sudo start eucalyptus-walrus-publication</command> | ||
487 | 1523 | </screen> | ||
488 | 1524 | </listitem> | ||
489 | 1525 | <listitem> | ||
490 | 1526 | <para><emphasis>Cluster Controller:</emphasis></para> | ||
491 | 1527 | <screen> | ||
492 | 1528 | <command>sudo start eucalyptus-cc-publication</command> | ||
493 | 1529 | </screen> | ||
494 | 1530 | </listitem> | ||
495 | 1531 | <listitem> | ||
496 | 1532 | <para><emphasis>Storage Controller:</emphasis></para> | ||
497 | 1533 | <screen> | ||
498 | 1534 | <command>sudo start eucalyptus-sc-publication</command> | ||
499 | 1535 | </screen> | ||
500 | 1536 | </listitem> | ||
501 | 1537 | <listitem> | ||
502 | 1538 | <para><emphasis>Node Controller:</emphasis></para> | ||
503 | 1539 | <screen> | ||
504 | 1540 | <command>sudo start eucalyptus-nc-publication</command> | ||
505 | 1541 | </screen> | ||
506 | 1542 | </listitem> | ||
507 | 1543 | </itemizedlist> | ||
508 | 1544 | |||
509 | 1545 | </step> | ||
510 | 1546 | <step> | ||
511 | 1547 | <para>Start the Listener</para> | ||
512 | 1548 | |||
513 | 1549 | <para> | ||
514 | 1550 | On the <emphasis>Cloud Controller</emphasis> and the <emphasis>Cluster Controller(s)</emphasis>, run: | ||
515 | 1551 | </para> | ||
516 | 1552 | |||
517 | 1553 | <screen> | ||
518 | 1554 | <command>sudo start uec-component-listener</command> | ||
519 | 1555 | </screen> | ||
520 | 1556 | |||
521 | 1557 | </step> | ||
522 | 1558 | <step> | ||
523 | 1559 | <para>Verify Registration</para> | ||
524 | 1560 | |||
525 | 1561 | <screen> | ||
526 | 1562 | <command>cat /var/log/eucalyptus/registration.log</command> | ||
527 | 1563 | <computeroutput>2010-04-08 15:46:36-05:00 | 24243 -> Calling node cluster1 node 10.1.1.75 | ||
528 | 1564 | 2010-04-08 15:46:36-05:00 | 24243 -> euca_conf --register-nodes returned 0 | ||
529 | 1565 | 2010-04-08 15:48:47-05:00 | 25858 -> Calling walrus Walrus 10.1.1.71 | ||
530 | 1566 | 2010-04-08 15:48:51-05:00 | 25858 -> euca_conf --register-walrus returned 0 | ||
531 | 1567 | 2010-04-08 15:49:04-05:00 | 26237 -> Calling cluster cluster1 10.1.1.71 | ||
532 | 1568 | 2010-04-08 15:49:08-05:00 | 26237 -> euca_conf --register-cluster returned 0 | ||
533 | 1569 | 2010-04-08 15:49:17-05:00 | 26644 -> Calling storage cluster1 storage 10.1.1.71 | ||
534 | 1570 | 2010-04-08 15:49:18-05:00 | 26644 -> euca_conf --register-sc returned 0</computeroutput> | ||
535 | 1571 | </screen> | ||
536 | 1572 | |||
537 | 1573 | <note> | ||
538 | 1574 | <para> | ||
539 | 1575 | The output on your machine will vary from the example above. | ||
540 | 1576 | </para> | ||
541 | 1577 | </note> | ||
542 | 1578 | |||
543 | 1579 | </step> | ||
544 | 1580 | </procedure> | ||
545 | 1581 | |||
546 | 1582 | </sect2> | ||
547 | 1583 | <sect2 id="uec-obtain-credentials" status="review"> | ||
548 | 1584 | <title>Obtain Credentials</title> | ||
549 | 1585 | |||
550 | 1586 | <para> | ||
551 | 1587 | After installing and booting the <emphasis>Cloud Controller</emphasis>, users of the cloud will need to retrieve their credentials. | ||
552 | 1588 | This can be done either through a web browser, or at the command line. | ||
553 | 1589 | </para> | ||
554 | 1590 | |||
555 | 1591 | <sect3 id="uec-creds-browser" status="review"> | ||
556 | 1592 | <title>From a Web Browser</title> | ||
557 | 1593 | |||
558 | 1594 | <procedure> | ||
559 | 1595 | <step> | ||
560 | 1596 | <para> | ||
561 | 1597 | From your web browser (either remotely or on your Ubuntu server) access the following URL: | ||
562 | 1598 | </para> | ||
563 | 1599 | <programlisting> | ||
564 | 1600 | https://<cloud-controller-ip-address>:8443/ | ||
565 | 1601 | </programlisting> | ||
566 | 1602 | |||
567 | 1603 | <warning> | ||
568 | 1604 | <para> | ||
569 | 1605 | You must use a secure connection, so make sure you use "https" not "http" in your URL. You will get a security | ||
570 | 1606 | certificate warning. You will have to add an exception to view the page. If you do not accept it you will not | ||
571 | 1607 | be able to view the Eucalyptus configuration page. | ||
572 | 1608 | </para> | ||
573 | 1609 | </warning> | ||
574 | 1610 | </step> | ||
575 | 1611 | <step> | ||
576 | 1612 | <para> | ||
577 | 1613 | Use username <emphasis>'admin'</emphasis> and password <emphasis>'admin'</emphasis> for the first time login | ||
578 | 1614 | (you will be prompted to change your password). | ||
579 | 1615 | </para> | ||
580 | 1616 | </step> | ||
581 | 1617 | <step> | ||
582 | 1618 | <para> | ||
583 | 1619 | Then follow the on-screen instructions to update the admin password and email address. | ||
584 | 1620 | </para> | ||
585 | 1621 | </step> | ||
586 | 1622 | <step> | ||
587 | 1623 | <para> | ||
588 | 1624 | Once the first time configuration process is completed, click the <emphasis>'credentials'</emphasis> tab | ||
589 | 1625 | located in the top-left portion of the screen. | ||
590 | 1626 | </para> | ||
591 | 1627 | </step> | ||
592 | 1628 | <step> | ||
593 | 1629 | <para> | ||
594 | 1630 | Click the <emphasis>'Download Credentials'</emphasis> button to get your certificates. | ||
595 | 1631 | </para> | ||
596 | 1632 | </step> | ||
597 | 1633 | <step> | ||
598 | 1634 | <para> | ||
599 | 1635 | Save them to <filename>~/.euca</filename>. | ||
600 | 1636 | </para> | ||
601 | 1637 | </step> | ||
602 | 1638 | <step> | ||
603 | 1639 | <para> | ||
604 | 1640 | Unzip the downloaded zip file into a safe location (<filename>~/.euca</filename>). | ||
605 | 1641 | </para> | ||
606 | 1642 | <screen> | ||
607 | 1643 | <command>unzip -d ~/.euca mycreds.zip</command> | ||
608 | 1644 | </screen> | ||
609 | 1645 | </step> | ||
610 | 1646 | </procedure> | ||
611 | 1647 | |||
612 | 1648 | </sect3> | ||
613 | 1649 | <sect3 id="uec-creds-cli" status="review"> | ||
614 | 1650 | <title>From a Command Line</title> | ||
615 | 1651 | |||
616 | 1652 | <procedure> | ||
617 | 1653 | <step> | ||
618 | 1654 | <para> | ||
619 | 1655 | Alternatively, if you are on the command line of the <emphasis>Cloud Controller</emphasis>, you can run: | ||
620 | 1656 | </para> | ||
621 | 1657 | <screen> | ||
622 | 1658 | <command>mkdir -p ~/.euca</command> | ||
623 | 1659 | <command>chmod 700 ~/.euca</command> | ||
624 | 1660 | <command>cd ~/.euca</command> | ||
625 | 1661 | <command>sudo euca_conf --get-credentials mycreds.zip</command> | ||
626 | 1662 | <command>unzip mycreds.zip</command> | ||
627 | 1663 | <command>ln -s ~/.euca/eucarc ~/.eucarc</command> | ||
628 | 1664 | <command>cd -</command> | ||
629 | 1665 | </screen> | ||
630 | 1666 | </step> | ||
631 | 1667 | </procedure> | ||
632 | 1668 | |||
633 | 1669 | </sect3> | ||
634 | 1670 | <sect3 id="uec-creds-usage" status="review"> | ||
635 | 1671 | <title>Extracting and Using Your Credentials</title> | ||
636 | 1672 | |||
637 | 1673 | <para> | ||
638 | 1674 | Now you will need to setup EC2 API and AMI tools on your server using X.509 certificates. | ||
639 | 1675 | </para> | ||
640 | 1676 | |||
641 | 1677 | <procedure> | ||
642 | 1678 | <step> | ||
643 | 1679 | <para> | ||
644 | 1680 | Install the required cloud user tools: | ||
645 | 1681 | </para> | ||
646 | 1682 | <screen> | ||
647 | 1683 | <command>sudo apt-get install euca2ools</command> | ||
648 | 1684 | </screen> | ||
649 | 1685 | </step> | ||
650 | 1686 | <step> | ||
651 | 1687 | <para> | ||
652 | 1688 | To validate that everything is working correctly, get the local cluster availability details: | ||
653 | 1689 | </para> | ||
654 | 1690 | <screen> | ||
655 | 1691 | <command>. ~/.euca/eucarc</command> | ||
656 | 1692 | <command>euca-describe-availability-zones verbose</command> | ||
657 | 1693 | <computeroutput>AVAILABILITYZONE myowncloud 192.168.1.1 | ||
658 | 1694 | AVAILABILITYZONE |- vm types free / max cpu ram disk | ||
659 | 1695 | AVAILABILITYZONE |- m1.small 0004 / 0004 1 128 2 | ||
660 | 1696 | AVAILABILITYZONE |- c1.medium 0004 / 0004 1 256 5 | ||
661 | 1697 | AVAILABILITYZONE |- m1.large 0002 / 0002 2 512 10 | ||
662 | 1698 | AVAILABILITYZONE |- m1.xlarge 0002 / 0002 2 1024 20 | ||
663 | 1699 | AVAILABILITYZONE |- c1.xlarge 0001 / 0001 4 2048 20</computeroutput> | ||
664 | 1700 | </screen> | ||
665 | 1701 | |||
666 | 1702 | <note> | ||
667 | 1703 | <para> | ||
668 | 1704 | Your output from the above command will vary. | ||
669 | 1705 | </para> | ||
670 | 1706 | </note> | ||
671 | 1707 | </step> | ||
672 | 1708 | </procedure> | ||
673 | 1709 | |||
674 | 1710 | </sect3> | ||
675 | 1711 | </sect2> | ||
676 | 1712 | <sect2 id="uec-image-installation" status="review"> | ||
677 | 1713 | <title>Install an Image from the Store</title> | ||
678 | 1714 | |||
679 | 1715 | <para> | ||
680 | 1716 | The following is by far the simplest way to install an image. However, advanced users may be interested in learning how to | ||
681 | 1717 | <ulink url="https://help.ubuntu.com/community/UEC/BundlingImages">Bundle their own image</ulink>. | ||
682 | 1718 | </para> | ||
683 | 1719 | |||
684 | 1720 | <para> | ||
685 | 1721 | The simplest way to add an image to <application>UEC</application> is to install it from the Image Store on the UEC web interface. | ||
686 | 1722 | </para> | ||
687 | 1723 | |||
688 | 1724 | <procedure> | ||
689 | 1725 | <step> | ||
690 | 1726 | <para> | ||
691 | 1727 | Access the web interface at the following URL (Make sure you specify https): | ||
692 | 1728 | </para> | ||
693 | 1729 | <programlisting> | ||
694 | 1730 | https://<cloud-controller-ip-address>:8443/ | ||
695 | 1731 | </programlisting> | ||
696 | 1732 | </step> | ||
697 | 1733 | <step> | ||
698 | 1734 | <para> | ||
699 | 1735 | Enter your login and password (if requested, as you may still be logged in from earlier). | ||
700 | 1736 | </para> | ||
701 | 1737 | </step> | ||
702 | 1738 | <step> | ||
703 | 1739 | <para> | ||
704 | 1740 | Click on the <emphasis>Store</emphasis> tab. | ||
705 | 1741 | </para> | ||
706 | 1742 | </step> | ||
707 | 1743 | <step> | ||
708 | 1744 | <para> | ||
709 | 1745 | Browse available images. | ||
710 | 1746 | </para> | ||
711 | 1747 | </step> | ||
712 | 1748 | <step> | ||
713 | 1749 | <para> | ||
714 | 1750 | Click on <emphasis>install</emphasis> for the image you want. | ||
715 | 1751 | </para> | ||
716 | 1752 | </step> | ||
717 | 1753 | </procedure> | ||
718 | 1754 | |||
719 | 1755 | <para> | ||
720 | 1756 | Once the image has been downloaded and installed, you can click on <emphasis>"How to run?"</emphasis> that will be displayed | ||
721 | 1757 | below the image button to view the command to execute to instantiate (start) this image. The image will also appear on the | ||
722 | 1758 | list given on the <emphasis>Image</emphasis> tab. | ||
723 | 1759 | </para> | ||
724 | 1760 | |||
725 | 1761 | </sect2> | ||
726 | 1762 | <sect2 id="uec-image-running" status="review"> | ||
727 | 1763 | <title>Run an Image</title> | ||
728 | 1764 | |||
729 | 1765 | <para> | ||
730 | 1766 | There are multiple ways to instantiate an image in UEC: | ||
731 | 1767 | </para> | ||
732 | 1768 | |||
733 | 1769 | <itemizedlist> | ||
734 | 1770 | <listitem><para>Use the command line.</para></listitem> | ||
735 | 1771 | <listitem><para>Use one of the UEC compatible management tools such as <emphasis>Landscape</emphasis>.</para></listitem> | ||
736 | 1772 | <listitem> | ||
737 | 1773 | <para> | ||
738 | 1774 | Use the <ulink url="https://help.ubuntu.com/community/UEC/ElasticFox">ElasticFox</ulink> extension to Firefox. | ||
739 | 1775 | </para> | ||
740 | 1776 | </listitem> | ||
741 | 1777 | </itemizedlist> | ||
742 | 1778 | |||
743 | 1779 | <para> | ||
744 | 1780 | Here we will describe the process from the command line: | ||
745 | 1781 | </para> | ||
746 | 1782 | |||
747 | 1783 | <procedure> | ||
748 | 1784 | <step> | ||
749 | 1785 | <para> | ||
750 | 1786 | Before running an instance of your image, you should first create a <emphasis>keypair</emphasis> (ssh key) that you can | ||
751 | 1787 | use to log into your instance as root, once it boots. The key is stored, so you will only have to do this once. | ||
752 | 1788 | </para> | ||
753 | 1789 | <para> | ||
754 | 1790 | Run the following command: | ||
755 | 1791 | </para> | ||
756 | 1792 | <programlisting> | ||
757 | 1793 | if [ ! -e ~/.euca/mykey.priv ]; then | ||
758 | 1794 | mkdir -p -m 700 ~/.euca | ||
759 | 1795 | touch ~/.euca/mykey.priv | ||
760 | 1796 | chmod 0600 ~/.euca/mykey.priv | ||
761 | 1797 | euca-add-keypair mykey > ~/.euca/mykey.priv | ||
762 | 1798 | fi | ||
763 | 1799 | </programlisting> | ||
764 | 1800 | <note> | ||
765 | 1801 | <para> | ||
766 | 1802 | You can call your key whatever you like (in this example, the key is called <emphasis>'mykey'</emphasis>), but remember what it is called. | ||
767 | 1803 | If you forget, you can always run <command>euca-describe-keypairs</command> to get a list of created keys stored in the system. | ||
768 | 1804 | </para> | ||
769 | 1805 | </note> | ||
770 | 1806 | </step> | ||
771 | 1807 | <step> | ||
772 | 1808 | <para> | ||
773 | 1809 | You must also allow access to port 22 in your instances: | ||
774 | 1810 | </para> | ||
775 | 1811 | <screen> | ||
776 | 1812 | <command>euca-authorize default -P tcp -p 22 -s 0.0.0.0/0</command> | ||
777 | 1813 | </screen> | ||
778 | 1814 | </step> | ||
779 | 1815 | <step> | ||
780 | 1816 | <para> | ||
781 | 1817 | Next, you can create instances of your registered image: | ||
782 | 1818 | </para> | ||
783 | 1819 | <screen> | ||
784 | 1820 | <command>euca-run-instances $EMI -k mykey -t m1.small</command> | ||
785 | 1821 | </screen> | ||
786 | 1822 | <note> | ||
787 | 1823 | <para> | ||
788 | 1824 | If you receive an error regarding <emphasis>image_id</emphasis>, you may find it by viewing Images page or click | ||
789 | 1825 | <emphasis>"How to Run"</emphasis> on the <emphasis>Store</emphasis> page to see the sample command. | ||
790 | 1826 | </para> | ||
791 | 1827 | </note> | ||
792 | 1828 | </step> | ||
793 | 1829 | <step> | ||
794 | 1830 | <para> | ||
795 | 1831 | The first time you run an instance, the system will be setting up caches for the image from which it will be created. | ||
796 | 1832 | This can often take some time the first time an instance is run given that VM images are usually quite large. | ||
797 | 1833 | </para> | ||
798 | 1834 | <para> | ||
799 | 1835 | To monitor the state of your instance, run: | ||
800 | 1836 | </para> | ||
801 | 1837 | <screen> | ||
802 | 1838 | <command>watch -n5 euca-describe-instances</command> | ||
803 | 1839 | </screen> | ||
804 | 1840 | <para> | ||
805 | 1841 | In the output, you should see information about the instance, including its state. While first-time caching is being performed, | ||
806 | 1842 | the instance's state will be <emphasis>'pending'</emphasis>. | ||
807 | 1843 | </para> | ||
808 | 1844 | </step> | ||
809 | 1845 | <step> | ||
810 | 1846 | <para> | ||
811 | 1847 | When the instance is fully started, the above state will become <emphasis>'running'</emphasis>. Look at the IP address assigned | ||
812 | 1848 | to your instance in the output, then connect to it: | ||
813 | 1849 | </para> | ||
814 | 1850 | <screen> | ||
815 | 1851 | <command>IPADDR=$(euca-describe-instances | grep $EMI | grep running | \ | ||
816 | 1852 | tail -n1 | awk '{print $4}')</command> | ||
817 | 1853 | <command>ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR</command> | ||
818 | 1854 | </screen> | ||
819 | 1855 | </step> | ||
820 | 1856 | <step> | ||
821 | 1857 | <para> | ||
822 | 1858 | And when you are done with this instance, exit your SSH connection, then terminate your instance: | ||
823 | 1859 | </para> | ||
824 | 1860 | <screen> | ||
825 | 1861 | <command>INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | \ | ||
826 | 1862 | tail -n1 | awk '{print $2}')</command> | ||
827 | 1863 | <command>euca-terminate-instances $INSTANCEID</command> | ||
828 | 1864 | </screen> | ||
829 | 1865 | </step> | ||
830 | 1866 | </procedure> | ||
831 | 1867 | |||
832 | 1868 | <sect3 id="uec-first-boot" status="review"> | ||
833 | 1869 | <title>First Boot</title> | ||
834 | 1870 | |||
835 | 1871 | <para> | ||
836 | 1872 | The <application>cloud-init</application> package provides "first boot" functionality for the Ubuntu UEC images. | ||
837 | 1873 | It is in charge of taking the generic filesystem image that is booting and customizing it for this particular instance. | ||
838 | 1874 | That includes things like: | ||
839 | 1875 | </para> | ||
840 | 1876 | |||
841 | 1877 | <itemizedlist> | ||
842 | 1878 | <listitem> | ||
843 | 1879 | <para> | ||
844 | 1880 | Setting the hostname. | ||
845 | 1881 | </para> | ||
846 | 1882 | </listitem> | ||
847 | 1883 | <listitem> | ||
848 | 1884 | <para> | ||
849 | 1885 | Putting the provided ssh public keys into <filename>~ubuntu/.ssh/authorized_keys</filename>. | ||
850 | 1886 | </para> | ||
851 | 1887 | </listitem> | ||
852 | 1888 | <listitem> | ||
853 | 1889 | <para> | ||
854 | 1890 | Running a user provided script, or otherwise modifying the image. | ||
855 | 1891 | </para> | ||
856 | 1892 | </listitem> | ||
857 | 1893 | </itemizedlist> | ||
858 | 1894 | |||
859 | 1895 | <para> | ||
860 | 1896 | Setting hostname and configuring a system so the person who launched it can actually log into it are not terribly interesting. | ||
861 | 1897 | The interesting things that can be done with <application>cloud-init</application> are made possible by data provided at launch | ||
862 | 1898 | time called <ulink url="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1085">user-data</ulink>. | ||
863 | 1899 | </para> | ||
864 | 1900 | |||
865 | 1901 | <para> | ||
866 | 1902 | First, install the <application>cloud-init</application> package: | ||
867 | 1903 | </para> | ||
868 | 1904 | |||
869 | 1905 | <screen> | ||
870 | 1906 | <command>sudo apt-get install cloud-init</command> | ||
871 | 1907 | </screen> | ||
872 | 1908 | |||
873 | 1909 | <para> | ||
874 | 1910 | If the user-data starts with <emphasis>'#!'</emphasis>, then it will be stored and executed as root late in the boot process of the | ||
875 | 1911 | instance's first boot (similar to a traditional 'rc.local' script). Output from the script is directed to the console. | ||
876 | 1912 | </para> | ||
877 | 1913 | |||
878 | 1914 | <para> | ||
879 | 1915 | For example, create a file named <filename>ud.txt</filename> containing: | ||
880 | 1916 | </para> | ||
881 | 1917 | |||
882 | 1918 | <programlisting> | ||
883 | 1919 | #!/bin/sh | ||
884 | 1920 | echo ========== Hello World: $(date) ========== | ||
885 | 1921 | echo "I have been up for $(cut -d\ -f 1 < /proc/uptime) sec" | ||
886 | 1922 | </programlisting> | ||
887 | 1923 | |||
888 | 1924 | <para> | ||
889 | 1925 | Now start an instance with the <emphasis>--user-data-file</emphasis> option: | ||
890 | 1926 | </para> | ||
891 | 1927 | |||
892 | 1928 | <screen> | ||
893 | 1929 | <command>euca-run-instances $EMI -k mykey -t m1.small --user-data-file=ud.txt</command> | ||
894 | 1930 | </screen> | ||
895 | 1931 | |||
896 | 1932 | <para> | ||
897 | 1933 | Wait now for the system to come up and console to be available. To see the result of the data file commands enter: | ||
898 | 1934 | </para> | ||
899 | 1935 | |||
900 | 1936 | <screen> | ||
901 | 1937 | <command>euca-get-console-output $EMI | grep --after-context=1 Hello</command> | ||
902 | 1938 | <computeroutput>========== Hello World: Mon Mar 29 18:05:05 UTC 2010 ========== | ||
903 | 1939 | I have been up for 28.26 sec</computeroutput> | ||
904 | 1940 | </screen> | ||
905 | 1941 | |||
906 | 1942 | <note> | ||
907 | 1943 | <para> | ||
908 | 1944 | Your output may vary. | ||
909 | 1945 | </para> | ||
910 | 1946 | </note> | ||
911 | 1947 | |||
912 | 1948 | <para> | ||
913 | 1949 | The simple approach shown above gives a great deal of power. The user-data can contain a script in any language where an interpreter already exists | ||
914 | 1950 | in the image (#!/bin/sh, #!/usr/bin/python, #!/usr/bin/perl, #!/usr/bin/awk ... ). | ||
915 | 1951 | </para> | ||
916 | 1952 | |||
917 | 1953 | <para> | ||
918 | 1954 | For many cases, the user may not be interested in writing a program. For this case, cloud-init provides <emphasis>"cloud-config"</emphasis>, a configuration based approach | ||
919 | 1955 | towards customization. To utilize the cloud-config syntax, the supplied user-data must start with a <emphasis>'#cloud-config'</emphasis>. | ||
920 | 1956 | </para> | ||
921 | 1957 | |||
922 | 1958 | <para> | ||
923 | 1959 | For example, create a text file named <filename>cloud-config.txt</filename> containing: | ||
924 | 1960 | </para> | ||
925 | 1961 | |||
926 | 1962 | <programlisting> | ||
927 | 1963 | #cloud-config | ||
928 | 1964 | apt_upgrade: true | ||
929 | 1965 | apt_sources: | ||
930 | 1966 | - source: "ppa:ubuntu-server-edgers/server-edgers-apache " | ||
931 | 1967 | |||
932 | 1968 | packages: | ||
933 | 1969 | - build-essential | ||
934 | 1970 | - pastebinit | ||
935 | 1971 | |||
936 | 1972 | runcmd: | ||
937 | 1973 | - echo ======= Hello World ===== | ||
938 | 1974 | - echo "I have been up for $(cut -d\ -f 1 < /proc/uptime) sec" | ||
939 | 1975 | </programlisting> | ||
940 | 1976 | |||
941 | 1977 | <para> | ||
942 | 1978 | Create a new instance: | ||
943 | 1979 | </para> | ||
944 | 1980 | |||
945 | 1981 | <screen> | ||
946 | 1982 | <command>euca-run-instances $EMI -k mykey -t m1.small --user-data-file=cloud-config.txt</command> | ||
947 | 1983 | </screen> | ||
948 | 1984 | |||
949 | 1985 | <para> | ||
950 | 1986 | Now, when the above system is booted, it will have: | ||
951 | 1987 | </para> | ||
952 | 1988 | |||
953 | 1989 | <itemizedlist> | ||
954 | 1990 | <listitem><para>Added the Apache Edgers PPA.</para></listitem> | ||
955 | 1991 | <listitem><para>Run an upgrade to get all updates available</para></listitem> | ||
956 | 1992 | <listitem><para>Installed the 'build-essential' and 'pastebinit' packages</para></listitem> | ||
957 | 1993 | <listitem><para>Printed a similar message to the script above</para></listitem> | ||
958 | 1994 | </itemizedlist> | ||
959 | 1995 | |||
960 | 1996 | <warning> | ||
961 | 1997 | <para> | ||
962 | 1998 | The <emphasis>Apache Edgers PPA</emphasis>, in the above example, contains the latest version of Apache from upstream source repositories. | ||
963 | 1999 | Package versions in the PPA are unsupported, and depending on your situation, this may or may not be desirable. See the | ||
964 | 2000 | <ulink url="https://launchpad.net/~ubuntu-server-edgers">Ubuntu Server Edgers</ulink> web page for more details. | ||
965 | 2001 | </para> | ||
966 | 2002 | </warning> | ||
967 | 2003 | |||
968 | 2004 | <para> | ||
969 | 2005 | The <emphasis>'runcmd'</emphasis> commands are run at the same point in boot that the <emphasis>'#!'</emphasis> script would run in the previous example. | ||
970 | 2006 | It is present to allow you to get the full power of a scripting language if you need it without abandoning <emphasis>cloud-config</emphasis>. | ||
971 | 2007 | </para> | ||
972 | 2008 | |||
973 | 2009 | <para> | ||
974 | 2010 | For more information on what kinds of things can be done with <application>cloud-config</application>, see | ||
975 | 2011 | <ulink url="http://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/files/head:/doc/examples/">doc/examples</ulink> in the source. | ||
976 | 2012 | </para> | ||
977 | 2013 | |||
978 | 2014 | </sect3> | ||
979 | 2015 | |||
980 | 2016 | </sect2> | ||
981 | 2017 | <sect2 id="uec-more-info" status="review"> | ||
982 | 2018 | <title>More Information</title> | ||
983 | 2019 | |||
984 | 2020 | <para> | ||
985 | 2021 | How to use the <ulink url="https://help.ubuntu.com/community/UEC/StorageController">Storage Controller</ulink> | ||
986 | 2022 | </para> | ||
987 | 2023 | |||
988 | 2024 | <para> | ||
989 | 2025 | Controlling eucalyptus services: | ||
990 | 2026 | </para> | ||
991 | 2027 | |||
992 | 2028 | <itemizedlist> | ||
993 | 2029 | <listitem><para>sudo service eucalyptus [start|stop|restart] (on the CLC/CC/SC/Walrus side)</para></listitem> | ||
994 | 2030 | <listitem><para>sudo service eucalyptus-nc [start|stop|restart] (on the Node side)</para></listitem> | ||
995 | 2031 | </itemizedlist> | ||
996 | 2032 | |||
997 | 2033 | <para> | ||
998 | 2034 | Locations of some important files: | ||
999 | 2035 | </para> | ||
1000 | 2036 | |||
1001 | 2037 | <itemizedlist> | ||
1002 | 2038 | <listitem> | ||
1003 | 2039 | <para> | ||
1004 | 2040 | <emphasis>Log files:</emphasis> | ||
1005 | 2041 | </para> | ||
1006 | 2042 | <itemizedlist> | ||
1007 | 2043 | <listitem><para>/var/log/eucalyptus</para></listitem> | ||
1008 | 2044 | </itemizedlist> | ||
1009 | 2045 | </listitem> | ||
1010 | 2046 | <listitem> | ||
1011 | 2047 | <para> | ||
1012 | 2048 | <emphasis>Configuration files:</emphasis> | ||
1013 | 2049 | </para> | ||
1014 | 2050 | <itemizedlist> | ||
1015 | 2051 | <listitem><para>/etc/eucalyptus</para></listitem> | ||
1016 | 2052 | </itemizedlist> | ||
1017 | 2053 | </listitem> | ||
1018 | 2054 | <listitem> | ||
1019 | 2055 | <para> | ||
1020 | 2056 | <emphasis>Database:</emphasis> | ||
1021 | 2057 | </para> | ||
1022 | 2058 | <itemizedlist> | ||
1023 | 2059 | <listitem><para>/var/lib/eucalyptus/db</para></listitem> | ||
1024 | 2060 | </itemizedlist> | ||
1025 | 2061 | </listitem> | ||
1026 | 2062 | <listitem> | ||
1027 | 2063 | <para> | ||
1028 | 2064 | <emphasis>Keys:</emphasis> | ||
1029 | 2065 | </para> | ||
1030 | 2066 | <itemizedlist> | ||
1031 | 2067 | <listitem><para>/var/lib/eucalyptus</para></listitem> | ||
1032 | 2068 | <listitem><para>/var/lib/eucalyptus/.ssh</para></listitem> | ||
1033 | 2069 | </itemizedlist> | ||
1034 | 2070 | </listitem> | ||
1035 | 2071 | </itemizedlist> | ||
1036 | 2072 | |||
1037 | 2073 | <note> | ||
1038 | 2074 | <para> | ||
1039 | 2075 | Don't forget to source your <filename>~/.euca/eucarc</filename> before running the client tools. | ||
1040 | 2076 | </para> | ||
1041 | 2077 | </note> | ||
1042 | 2078 | |||
1043 | 2079 | </sect2> | ||
1044 | 2080 | <sect2 id="uec-references" status="review"> | ||
1045 | 2081 | <title>References</title> | ||
1046 | 2082 | |||
1047 | 2083 | <itemizedlist> | ||
1048 | 2084 | <listitem> | ||
1049 | 2085 | <para> | ||
1050 | 2086 | For information on loading instances see the <ulink url="https://help.ubuntu.com/community/Eucalyptus">Eucalyptus Wiki</ulink> page. | ||
1051 | 2087 | </para> | ||
1052 | 2088 | </listitem> | ||
1053 | 2089 | <listitem> | ||
1054 | 2090 | <para> | ||
1055 | 2091 | <ulink url="http://open.eucalyptus.com/">Eucalyptus Project Site (forums, documentation, downloads)</ulink>. | ||
1056 | 2092 | </para> | ||
1057 | 2093 | </listitem> | ||
1058 | 2094 | <listitem> | ||
1059 | 2095 | <para> | ||
1060 | 2096 | <ulink url="https://launchpad.net/eucalyptus/">Eucalyptus on Launchpad (bugs, code)</ulink>. | ||
1061 | 2097 | </para> | ||
1062 | 2098 | </listitem> | ||
1063 | 2099 | <listitem> | ||
1064 | 2100 | <para> | ||
1065 | 2101 | <ulink url="http://open.eucalyptus.com/wiki/EucalyptusTroubleshooting_v1.5">Eucalyptus Troubleshooting (1.5)</ulink>. | ||
1066 | 2102 | </para> | ||
1067 | 2103 | </listitem> | ||
1068 | 2104 | <listitem> | ||
1069 | 2105 | <para> | ||
1070 | 2106 | <ulink url="http://support.rightscale.com/2._References/02-Cloud_Infrastructures/Eucalyptus/03-Administration_Guide/Register_with_RightScale"> | ||
1071 | 2107 | Register your cloud with RightScale</ulink>. | ||
1072 | 2108 | </para> | ||
1073 | 2109 | </listitem> | ||
1074 | 2110 | <listitem> | ||
1075 | 2111 | <para> | ||
1076 | 2112 | You can also find help in the <emphasis>#ubuntu-virt</emphasis>, <emphasis>#eucalyptus</emphasis>, and | ||
1077 | 2113 | <emphasis>#ubuntu-server</emphasis> IRC channels on <ulink url="http://freenode.net">Freenode</ulink>. | ||
1078 | 2114 | </para> | ||
1079 | 2115 | </listitem> | ||
1080 | 2116 | </itemizedlist> | ||
1081 | 2117 | </sect2> | ||
1082 | 2118 | </sect1> | ||
1083 | 2119 | |||
1084 | 2120 | <sect1 id='ubuntucloud' status='review'> | 1095 | <sect1 id='ubuntucloud' status='review'> |
1085 | 2121 | <title>Ubuntu Cloud</title> | 1096 | <title>Ubuntu Cloud</title> |
1086 | 2122 | <para> | 1097 | <para> |
1087 | @@ -2131,7 +1106,7 @@ | |||
1088 | 2131 | <sect2 id="ubuntu-cloud-overview" status="review"> | 1106 | <sect2 id="ubuntu-cloud-overview" status="review"> |
1089 | 2132 | <title>Overview</title> | 1107 | <title>Overview</title> |
1090 | 2133 | <para> | 1108 | <para> |
1092 | 2134 | This tutorial covers the OpenStack installation from the Ubuntu 12.04 LTS Server Edition CD, and assumes a | 1109 | This tutorial covers the OpenStack installation from the Ubuntu 12.10 Server Edition CD, and assumes a |
1093 | 2135 | basic network topology, with a single system serving as the "all-in-one cloud infrastructure".Due to the tutorial's simplicity, | 1110 | basic network topology, with a single system serving as the "all-in-one cloud infrastructure".Due to the tutorial's simplicity, |
1094 | 2136 | the instructions as-is are not intended to set up production servers although it allows you to have a POC | 1111 | the instructions as-is are not intended to set up production servers although it allows you to have a POC |
1095 | 2137 | (proof of concept) of the Ubuntu Cloud using OpenStack. | 1112 | (proof of concept) of the Ubuntu Cloud using OpenStack. |
Looks good! And thanks for getting rid of UEC. I keep forgetting.