|
-- ·|û / µù¥U --
|
¡@ |
|
|
AnsibleÅv«Â«ü«n ( ²Åé ¦r) |
§@ªÌ¡G§õªQÀÜ | Ãþ§O¡G1. -> µ{¦¡³]p -> ºî¦X |
ĶªÌ¡G |
¥Xª©ªÀ¡G¾÷±ñ¤u·~¥Xª©ªÀ | 3dWoo®Ñ¸¹¡G 45573 ¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I¡i¯Ê®Ñ¡j NT°â»ù¡G 395 ¤¸ |
¥Xª©¤é¡G11/1/2016 |
¶¼Æ¡G331 |
¥úºÐ¼Æ¡G0 |
|
¯¸ªø±ÀÂË¡G |
¦L¨ê¡G¶Â¥Õ¦L¨ê | »y¨t¡G ( ²Åé ª© ) |
|
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R (½Ð¥ýµn¤J·|û) |
ISBN¡G9787111553298 |
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç |
(²Åé®Ñ¤W©Òz¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, YŪªÌ»Ýn½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ) |
§@ªÌ§Ç¡G |
ĶªÌ§Ç¡G |
«e¨¥¡G |
¤º®e²¤¶¡G¥þ®Ñ¤À¬°3½g¡G1.°ò¦½g¸Ô²ÓÁ¿¸Ñ¹Bºû¦Û°Ê¤Æµo®i¾úµ{,Ansible³¡¸p¦w¸Ë¡Bµo®i¥v¡B°ò¦¤Jªù¡BPlaybook¨Ï¥Î¤ÎÀ³¥Î³õ´º,¯S§O¹ïYAML»y¨¥¶i¦æ°ò¦´¶¤Î¡A¥HÁקKŪªÌ¥uª¾¨ä¤@¤£ª¾¨ä¤G¡C2.¤¤¯Å½g«ÂI¤¶²ÐAnsible»P·í«e¦U¬y¦æAppÀ³¥Îµ²¦X¨Ï¥Î,¦pELK¡BZABBIX¡BDOCKERµ¥,³q¹L¹ê¾Ô®×¨Ò»¡©úAnsibleªº¥¿½T¨Ï¥Î¤è¦¡¡C°w¹ïPlaybook±`¥Î¥\¯à¼Ò¶ôªº¨Ï¥Îµ¥¶i¦æ«ÂIåªR¤¶²Ð¡C3.°ª¯Å½g¥Dn¤¶²ÐAnsibleªºWeb¦Û°Ê¤Æ¤§¸ô¡A¬°¤j®a¤¶²ÐWeb¦Û°Ê¤Æ³v¨B¹ê²{¹Lµ{¡A¦}¦P¨B¶}©ñ·½½X¥H¤è«K¤j®a¬ã²ß¡C³q¹L¾\Ū¥»®Ñ¡AŪªÌ¤£¶È¼ô±x¦}À³¥ÎAnsible,ansible-playbook¡Aªì¨B¹ê²{¸}¥»¦Û°Ê¤Æ,¦P®ÉÁÙ¯à¹ê²{Web¦Û°Ê¤Æ,±q®Ú·½¸Ñ©ñ¹BºûÂù¤â¡C |
¥Ø¿ý¡G«e¨¥ ²Ä¤@½g¡@°ò¦¤Jªù½g ²Ä1³¹Ansible°ò¦¤Jªù 2 1.1Ansible¬O¤°¤\ 2 1.2Ansibleµo®i¥v 4 1.3¬°¤°¤\¿ï¾ÜAnsible 5 1.4Ansible¬O¦p¦ó¤u§@ªº 6 1.5Ansible³q«Hµo®i¥v 8 1.6AnsibleÀ³¥Î³õ´º 11 1.7Ansibleªº¦w¸Ë³¡¸p 12 1.7.1PIP¤è¦¡ 13 1.7.2YUM¤è¦¡ 13 1.7.3Apt-get¤è¦¡ 14 1.7.4·½½X¦w¸Ë¤è¦¡ 14 1.7.5ÅçÃÒ¦w¸Ëµ²ªG 15 1.8Python¦hÀô¹ÒÂX®iºÞ²z 16 1.8.1Pyenvªº³¡¸p»P¨Ï¥Î 16 1.8.2Virtualenvªº³¡¸p»P¨Ï¥Î 18 1.9¥»³¹¤pµ² 20 ²Ä2³¹Ansible°ò¦¤¸¯À¤¶²Ð 21 2.1Ansible¥Ø¿ýµ²ºc¤¶²Ð 21 2.2Ansible°t¸m¤å¥ó¸ÑªR 23 2.3Ansible©R¥O¥Îªk¸Ô¸Ñ 25 2.4Ansible¨t¦C©R¥O¥Îªk¸Ô¸Ñ»P¨Ï¥Î³õ´º¤¶²Ð 28 2.4.1ansible 28 2.4.2ansible-galaxy 29 2.4.3ansible-pull 31 2.4.4ansible-doc 31 2.4.5ansible-playbook 31 2.4.6ansible-vault 32 2.4.7ansible-console 32 2.5Ansible Inventory°t¸m¤Î¸Ô¸Ñ 34 2.5.1©w¸q¥D¾÷©M²Õ 34 2.5.2©w¸q¥D¾÷Åܶq 35 2.5.3©w¸q²ÕÅܶq 35 2.5.4©w¸q²Õ´O®M¤Î²ÕÅܶq 36 2.5.5¦h«Åܶq©w¸q 36 2.5.6¨ä¥LInventory°Ñ¼Æ¦Cªí 37 2.6Ansible»P¥¿«h 37 2.7¥»³¹¤pµ² 39 ²Ä3³¹Ansible Ad-Hoc©R¥O¶° 40 3.1Ad-Hoc¨Ï¥Î³õ´º 40 3.2Ad-Hoc©R¥O¶°¤¶²Ð 41 3.2.1Ad-Hoc©R¥O¶°¥Îªk²¤¶ 41 3.2.2³q¹LAd-Hoc¬d¬Ý¨t²Î³]¸m 46 3.2.3³q¹LAd-Hoc¬ã¨sAnsibleªº¦}µo¯S©Ê 47 3.2.4³q¹LAd-Hoc¬ã¨sAnsibleªº¼Ò¶ô¨Ï¥Î 49 3.3Ad-Hoc²ÕºÞ²z©M¯S©w¥D¾÷Åܧó 52 3.3.1Ad-Hoc²Õ©w¸q 52 3.3.2Ad-Hoc°t¸mºÞ²z¡G°t¸mProxy»PWeb Servers¹ê½î 54 3.3.3Ad-Hoc°t¸m¦ZºÝ¡G°t¸mNoSQL»PDatabase Servers¹ê½î 56 3.3.4Ad-Hoc¯S©w¥D¾÷Åܧó 57 3.4Ad-Hoc¥Î¤á»P²ÕºÞ²z 58 3.4.1Linux¥Î¤áºÞ²z 58 3.4.2Windows¥Î¤áºÞ²z 63 3.4.3À³¥Î¼h¥Î¤áºÞ²z 64 3.5¥»³¹¤pµ² 65 ²Ä4³¹Playbook§Ö³t¤Jªù 66 4.1Playbook»yªk²¤¶ 66 4.1.1¦h¦æÁY¶i 67 4.1.2³æ¦æÁY¼g 67 4.2Playbook®×¨Ò¤ÀªR 68 4.3Playbook»PShell¸}¥»®t²§¹ï¤ñ 71 4.4Ansible-playbook¹ê¾Ô¤p§Þ¥© 71 4.4.1©w°õ¦æS³ò 71 4.4.2¥Î¤á»PÅv³]¸m 72 4.4.3Ansible-playbook¡G¨ä¥L¿ï¶µ§Þ¥© 73 4.5¹ê¾Ô¤@¡GAnsible³¡¸pNode.js¥ø·~¹ê½î 73 4.5.1²K¥[²Ä¤T¤è·½ 73 4.5.2¹B¦æNode.js¶iµ{ 77 4.5.3Node.js appªA°È³¡¸pÁ`µ² 78 4.6¹ê¾Ô¤G¡GDrupal°ò¤_LAMPªº¦Û°Ê¤Æ³¡¸p 78 4.6.1©w¸qÅܶq¦}³]¸mHandlers 79 4.6.2³¡¸pLAMP°ò¦ªA°È 80 4.6.3°t¸mApache 81 4.6.4°t¸mPHP 82 4.6.5°t¸mMySQL 83 4.6.6¦w¸ËDrush©MComposer 84 4.6.7³q¹LGit©MDrush¦w¸ËDrupal 85 4.6.8Drupal³¡¸p¹Lµ{Á`µ² 86 4.7¹ê¾Ô¤T¡GAnsible³¡¸pTomcat¥ø·~¹ê¾Ô 86 4.7.1©w¸qÅܶq¦}³]¸mHandlers 86 4.7.2¦w¸ËJava 87 4.7.3¦w¸ËTomcat 8 88 4.7.4¦w¸ËApache Solr 89 4.8¥»³¹¤pµ² 91 ²Ä5³¹Ansible Playbook©Ý®i 92 5.1Handlers 92 5.2Àô¹ÒÅܶq 93 5.3Åܶq 95 5.3.1Playbook Åܶq 96 5.3.2¦bInventory¤å¥ó¤¤©w¸qÅܶq 97 5.3.3ª`¥UÅܶq 98 5.3.4¨Ï¥Î°ª¶¥Åܶq 98 5.3.5¥D¾÷Åܶq©M²ÕÅܶq 100 5.3.6Facts¡]¦¬¶°¨t²Î«H®§¡^ 101 5.3.7Ansible¥[±K¼Ò¶ôVault 104 5.3.8ÅܶqÀu¥ý¯Å 106 5.4if/then/when¡X¡X¬yµ{±±¨î 107 5.4.1Jinja2 ¥¿«hªí¹F¡BPython ¤º¸m¨ç¼Æ©MÅÞ¿è§PÂ_ 107 5.4.2Åܶqª`¥U¾¹register 108 5.4.3when±ø¥ó§PÂ_ 109 5.4.4changed_when¡Bfailed_when±ø¥ó§PÂ_ 110 5.4.5ignore_errors±ø¥ó§PÂ_ 111 5.5¥ô°È¶¡¬yµ{±±¨î 111 5.5.1¥ô°È©e¦« 111 5.5.2¥ô°È¼È°± 112 5.6¥æ¤¬¦¡´£¥Ü 112 5.7Tags¼Ðñ 113 5.8Block¶ô 115 5.9¥»³¹¤pµ² 116 ²Ä¤G½g¡@°ª¯Å¶i¶¥½g ²Ä6³¹Playbook°ª¯Å§Þ¥©¶i¶¥ 118 6.1¥©¥Î Includes 118 6.1.1Includes¨Ï¥Î³õ´º 118 6.1.2Includes¥Îªk 119 6.1.3°ÊºA Includes 123 6.1.4Handler Includes¨Ï¥Î§Þ¥© 123 6.1.5Playbooks Includes¨Ï¥Î§Þ¥© 124 6.2¥©¥ÎRoles 124 6.2.1ºc«ØRoles 125 6.2.2¨Ï¥ÎRoles«ºcPlaybooks 125 6.2.3Roles§Þ¥©¤§Handlers¡G°ÊºAÅܧó 129 6.2.4Roles§Þ¥©¤§Files¡G¤å¥ó¶Ç¿é 131 6.2.5Roles§Þ¥©¤§Templates¡G¼ÒªO´À´« 133 6.2.6§ó¦h´_Âøªº¸ó¥»ORoles 135 6.3Jinja2¹ê²{¼ÒªO°ª«×¦Û©w¸q 136 6.3.1Jinja2 For´`Àô 136 6.3.2Jinja2 If±ø¥ó 137 6.3.3Jinja¦hȦX¦} 138 6.3.4Jinja default()³]©w 140 6.3.5Ansibleµ²¦XJinja2¥Í¦¨Nginx°t¸m 141 6.3.6Ansibleµ²¦XJinja2¥Í¦¨Apache¦h¥D¾÷°t¸m 146 6.3.7Jinja2°ÊºAÅܶq°t¸m¤Î¬[ºcÀu¤Æ 148 6.4Ansible Galaxy 151 6.4.1Ansible-galaxy©R¥O¥Îªk 151 6.4.2¨Ï¥ÎGalaxy 152 6.5¥»³¹¤pµ² 154 ²Ä7³¹Inventory¤å¥óÂX®i 155 7.1Inventory¤å¥ó¹ê¾Ô 155 7.2¿W¥ßªºInventory¤å¥ó 159 7.3InventoryÅܶq 159 7.3.1host_vars¥Ø¿ý 160 7.3.2group_vars¥Ø¿ý 161 7.4°ÊºAInventory 161 7.5¥»³¹¤pµ² 168 ²Ä8³¹Ansible´¡¥óÂX®i 169 8.1Ansible ´¡¥ó¨Ï¥Î³õ´º 169 8.2Ansible´¡¥óÃþ«¬ 170 8.3¦p¦ó½s¼g¦Û¤vªº´¡¥ó 171 8.4´¡¥ó®×¨Ò¹ê½î 172 8.5¥»³¹¤pµ² 174 ²Ä9³¹Ansible¥ø·~À³¥Î¹ê¾Ô 175 9.1¬°·s¨t²Î²K¥[¦w¥þ»{ÃÒSSHKey 175 9.1.1Ansible±K½X»{ÃÒ 175 9.1.2ssh-copy-id 176 9.1.3Kickstart 177 9.1.4Python Paramiko 178 9.1.5Expect 179 9.2¥ø·~°ª¥i¥Î¬[ºcªºAnsibleÀ³¥Î 180 9.2.1Playbook¥Ø¿ý½s±Æ 181 9.2.2°ª¥i¥Î¬[ºc°ò¤_Ansibleªº¦Û°Ê¤Æ¹ê²{ 181 9.2.3¨Ï¥ÎIncludes»Î±µ¦UªA°È°t¸m 188 9.3ELK¤é§Ó¨t²Î°ò¤_Ansibleªº¦Û°Ê¤Æ¹ê²{ 189 9.3.1ELK Serverªº¦Û°Ê¤Æ¹ê²{ 190 9.3.2ELK Clientªº¦Û°Ê¤Æ¹ê²{ 192 9.4¹ê®É¤é§Ó¨t²Î°ò¤_Ansibleªº¦Û°Ê¤Æ¹ê²{ 192 9.4.1°t¸m·§Äý 192 9.4.2¬[ºc³¡¸p 193 9.5Zabbix°ò¤_Ansibleªº¦Û°Ê¤Æ¹ê²{ 195 9.5.1Zabbix Server°ò¤_Ansibleªº¦Û°Ê¤Æ¹ê²{ 196 9.5.2Zabbix Agent°ò¤_Ansibleªº¦Û°Ê¤Æ¹ê²{ 199 9.5.3Zabbix Proxy°ò¤_Ansibleªº¦Û°Ê¤Æ¹ê²{ 201 9.6Ansible+Git+GitLab¹ê²{¦Û°Ê¤Æµo¥¬ 202 9.6.1¬[ºc·§Äý 203 9.6.2¬[ºc³¡¸p 203 9.7DockerªºAnsible¦Û°Ê¤ÆÀ³¥Î 206 9.7.1Docker®e¾¹¤Jªù 206 9.7.2¨Ï¥ÎAnsible³Ð«Ø©MºÞ²z®e¾¹ 207 9.7.3°ò¤_Ansible³Ð«ØFlaskªºDocker®e¾¹ 208 9.7.4¼Æ¾Ú¦sÀx®e¾¹°t¸m 210 9.7.5Flask®e¾¹°t¸m 211 9.7.6MySQL®e¾¹°t¸m 213 9.7.7±Ò°Ê®e¾¹ 215 9.8¥»³¹¤pµ² 215 ²Ä10³¹Ansible°ò¤_WindowsªººÞ²z¬[ºc 217 10.1AnsibleºÞ²z¾÷³¡¸p¦w¸Ë 218 10.2Windows¨t²Î¹w°t¸m 219 10.3Windows¤U¥i¥Î¼Ò¶ô 224 10.4Windows Ansible¼Ò¶ô¨Ï¥Î¹ê¾Ô 224 10.5¥»³¹¤pµ² 226 ²Ä11³¹Ansible¦w¥þÀu¤Æ½g 227 11.1SSH»P»·µ{³s±µÂ²¤¶ 227 11.1.1Telnet 228 11.1.2RLOGIN¡BRSH©MRCP 228 11.1.3SSH 228 11.1.4SSHªºµo®i©M»·µ{³X°Ýªº¥¼¨Ó 229 11.2³q«H¥[±K 230 11.3¸T¤îroot»·µ{µn¿ý 231 11.4¾Þ§@¨t²Î²¤¶ 232 11.5¿í¦uÅv³Ì¤p¤Æì«h 233 11.5.1¥Î¤áºÞ²z 233 11.5.2¤å¥óÅvºÞ²z 233 11.6©w´ÁºûÅ@§ó·s 234 11.6.1¤â°Ê§ó·s 234 11.6.2¦Û°Ê©w®É§ó·s 234 11.7µ½¥ÎIptables¨¾¤õùÙ 236 11.8©w´ÁºÏ½L¨µÀË 238 11.9¨t²Îµn¿ý¤é§Ó¼f°O 238 11.10¡@¥¿½T¨Ï¥ÎSELinux©MAppArmor 239 11.11¡@¥»³¹¤pµ² 240 ²Ä¤T½g¡@Web¦Û°Ê¤Æ¶}µo½g ²Ä12³¹Ansible¼Ò¶ô½s¼g 242 12.1ªì¨B»{ÃÑAnsible¼Ò¶ô 242 12.2Ansible²³æ¼Ò¶ô½s¼g 243 12.3¼Ò¶ôÅܶq²K¥[ 245 12.4¼Ò¶ôª¬ºAªð¦^ªº¼ÐÃѤÎÀ³¥Î 246 12.5¼Ò¶ô°h¥Xª¬ºA³B²z 249 12.6¼Ò¶ô¨ä¥L¥\¯à¸É¥R 250 12.7Ansible¼Ò¶ôAPIªº½Õ¥Î 251 12.8¥»³¹¤pµ² 265 ²Ä13³¹¶}µo¦Û¤vªºAnsible WebUI 267 13.1·f«ØDjango¶}µoÀô¹Ò 267 13.1.1¬°¤°¤\n¨Ï¥ÎWeb¶±°µºÞ²z 267 13.1.2¨t²Î¤Î³n¥óÀô¹Ò 268 13.2Django°t¸m¤å¥ó¸Ô¸Ñ 269 13.2.1Djangoªº°ò¦°t¸m¤Î¹B¦æ 269 13.2.2Djangoªº¥D°t¸m¥Ø¿ý¤¶²Ð 270 13.2.3Djangoªºapp¥Ø¿ý¤¶²Ð 271 13.3½s¼gAnsibleªºWeb±µ¤f 272 13.4«eºÝ°ò¦ª¾ÃѤ¶²Ð 278 13.4.1HTML©MCSS²¤¶ 278 13.4.2JavaScript²¤¶ 279 13.5Ansible WebUI¬É±¶}µo 280 13.5.1¹ï±µ«eºÝ¶±»PAnsibleªºWeb±µ¤f 280 13.5.2°t¸mWeb¶±¶Ç°Ñ 282 13.6¥»³¹¤pµ² 285 ²Ä14³¹Web»PAnsibleµ²¦Xªº±`¥Î¹ê¨Ò 286 14.1Web¤è¦¡ºÞ²zAnsibleªºInventory 286 14.1.1«·s©w¨îAnsibleªºHosts¤å¥ó³W«h 286 14.1.2¨Ï¥ÎConfigParser¸ÑªR¦}¥Í¦¨Ansible Hosts¤å¥ó 287 14.1.3¨Ï¥Î¼Æ¾Ú®wªº¦sÀx¼Æ¾Ú¥Í¦¨ªºAnsible Hosts¤å¥ó 290 14.1.4³q¹L¶±¨Ó¥Í¦¨Hosts¤å¥ó 293 14.2¨Ï¥Îcelery¦Z»O°õ¦æ¥ô°È 301 14.2.1¬°¤°¤\n¨Ï¥Îcelery 301 14.2.2¨Ï¥Îceleryªº«e´Á·Ç³Æ 301 14.2.3¨Ï¥Îcelery¶}©l¥ô°È 303 14.2.4¨Ï¥Îcelery¨ú®ø¥¿¦b¶i¦æªº¥ô°È 305 14.3¹B¦æYML¤å¥ó¦}¹ê®ÉŪ¨ú¤é§Ó 306 14.4³q¹L¶±¤W¶Ç¤å¥ó¦}°ò¤_Ansible¤Àµo 313 14.5¦b¶±¤Wºc«ØYML¤å¥óª`¥U¤¤¤ß 316 14.6¾Þ§@ªÌª`¥U¤¤¤ß¬É± 324 14.7¥»³¹¤pµ² 331 |
§Ç¡G |
|