±â¼ú ÀÚ·á½Ç
[Linux] ¾Ø¼ºí (Ansible) ½ÃÀÛÇϱâ |
---|
Date : 2023-07-18
Name : ¼¹ö¸ó
Hits : 405
|
¾È³çÇϼ¼¿ä. ÁÖ½Äȸ»ç ¼¹ö¸ó ÀÔ´Ï´Ù. À̹ø Æ÷½ºÆ®´Â ¾Ø¼ºí(Ansible) ÀÇ °³³ä°ú µ¿ÀÛ ¹æ½Ä¿¡ ´ëÇؼ ´Ù·çµµ·Ï ÇÏ°Ú½À´Ï´Ù.
AnsibleÀº ¿ÀÇ ¼Ò½º IT ÀÚµ¿È µµ±¸·Î ÇÁ·ÎºñÀú´×, ½Ã½ºÅÛ ¼³Á¤, ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷, ¿ÀÄɽºÆ®·¹ÀÌ¼Ç ÀÛ¾÷ ÀÚµ¿È µî ´Ù¾çÇÑ IT ÀÛ¾÷À» ÀÚµ¿ÈÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. Ansible ÀÚµ¿È¸¦ »ç¿ëÇØ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÏ°í, ÀÏ»óÀûÀΠŽºÅ©¸¦ ÀÚµ¿ÈÇÏ°í, ÀÎÇÁ¶ó¸¦ ÇÁ·ÎºñÀú´×ÇÏ°í, ÄÄÇöóÀ̾𽺸¦ °³¼±ÇÏ°í, ½Ã½ºÅÛ¿¡ ÆÐÄ¡¸¦ Àû¿ëÇÏ°í, Á¶Á÷ Àüü¿¡ ÀÚµ¿È¸¦ °øÀ¯ÇÒ ¼ö ÀÖ½À´Ï´Ù.
AnsibleÀº ´ÙÀ½°ú °°ÀÌ ¼¼ °¡Áö ÇÙ½É ¿ä¼Ò·Î ±¸¼ºµË´Ï´Ù Inventory (Àκ¥Å丮) Àκ¥Å丮´Â AnsibleÀÌ °ü¸® ´ë»óÀÌ µÇ´Â È£½ºÆ®(¼¹ö, ³×Æ®¿öÅ© ÀåÄ¡ µî)ÀÇ ¸ñ·ÏÀ» Á¤ÀÇÇÏ´Â ÆÄÀÏÀÔ´Ï´Ù. Àκ¥Å丮 ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î INI ¶Ç´Â YAML Çü½ÄÀ¸·Î ÀÛ¼ºµÇ¸ç, È£½ºÆ® ±×·ì, È£½ºÆ®¸í, IP ÁÖ¼Ò ¶Ç´Â µµ¸ÞÀÎ µîÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÕ´Ï´Ù. Àκ¥Å丮¸¦ »ç¿ëÇÏ¿© AnsibleÀº ÀÛ¾÷À» ¼öÇàÇÒ ´ë»ó ½Ã½ºÅÛÀ» ½Äº°ÇÏ°í ±¸¼ºÇÕ´Ï´Ù. ¾Æ·¡´Â Ansible Àκ¥Å丮 ÆÄÀÏÀÇ °£´ÜÇÑ ¿¹ÀÔ´Ï´Ù À§ÀÇ ¿¹½Ã¿¡¼ web ±×·ì¿¡´Â webserver1°ú webserver2 È£½ºÆ®°¡ ¼ÓÇÏ°í, database ±×·ì¿¡´Â dbserver1 È£½ºÆ®°¡ ¼ÓÇÕ´Ï´Ù.
Playbook (Ç÷¹À̺Ï) Ç÷¹À̺ÏÀº Ansible¿¡¼ ÀÛ¾÷À» Á¤ÀÇÇÏ°í ½ÇÇàÇÏ´Â µ¥ »ç¿ëµÇ´Â ÆÄÀÏÀÔ´Ï´Ù. Ç÷¹À̺ÏÀº YAML Çü½ÄÀ¸·Î ÀÛ¼ºµÇ¸ç, Çϳª ÀÌ»óÀÇ Àå¸é(Scene)À¸·Î ±¸¼ºµË´Ï´Ù. Àå¸éÀº È£½ºÆ® ±×·ì, º¯¼ö, ŽºÅ©(Task) µîÀÇ ¿ä¼Ò·Î ±¸¼ºµË´Ï´Ù. Ç÷¹À̺ÏÀº ÀÛ¾÷ ´ÜÀ§¸¦ Á¤ÀÇÇÏ°í °¢ ÀÛ¾÷À» ¼öÇàÇÒ ´ë»ó È£½ºÆ® ±×·ìÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¶ÇÇÑ Ç÷¹À̺ÏÀº ÇÊ¿ä¿¡ µû¶ó º¯¼ö¸¦ Á¤ÀÇÇÏ¿© ÀÛ¾÷ÀÇ À¯¿¬¼ºÀ» ³ôÀÌ°í Àç»ç¿ë¼ºÀ» Çâ»ó½Ãŵ´Ï´Ù. ¾Æ·¡´Â °£´ÜÇÑ Ansible Ç÷¹À̺ÏÀÇ ¿¹ÀÔ´Ï´Ù À§ÀÇ ¿¹½Ã¿¡¼ Ç÷¹À̺ÏÀº web ±×·ì¿¡ ¼ÓÇÑ È£½ºÆ®µé¿¡°Ô Apache¸¦ ¼³Ä¡ÇÏ°í ¼ºñ½º¸¦ ½ÃÀÛÇϵµ·Ï Áö½ÃÇÕ´Ï´Ù.
Module (¸ðµâ) Ansible ¸ðµâÀº AnsibleÀÌ ÀÛ¾÷À» ¼öÇàÇϱâ À§ÇØ »ç¿ëÇÏ´Â ÄÚµå ºí·ÏÀÔ´Ï´Ù. ¸ðµâÀº ƯÁ¤ ÀÛ¾÷À» ¼öÇàÇϱâ À§ÇÑ ÇÔ¼ö ¶Ç´Â ¸í·É¾î¸¦ ³ªÅ¸³»¸ç, È£½ºÆ®¿¡°Ô ¸í·ÉÀ» Àü´ÞÇÏ°í °á°ú¸¦ °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù. AnsibleÀº ¼ö¹é °³ÀÇ ³»Àå ¸ðµâÀ» Á¦°øÇϸç, ÆÄÀÏ °ü¸®, ÆÐÅ°Áö ¼³Ä¡, ¼ºñ½º Á¦¾î, ³×Æ®¿öÅ© ±¸¼º µî ´Ù¾çÇÑ ÀÛ¾÷¿¡ ´ëÇØ ¸ðµâÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, yum ¸ðµâÀº ÆÐÅ°Áö °ü¸®ÀÚ¸¦ »ç¿ëÇÏ¿© ¸®´ª½º ½Ã½ºÅÛ¿¡ ÆÐÅ°Áö¸¦ ¼³Ä¡Çϰųª Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. service ¸ðµâÀº ½Ã½ºÅÛ ¼ºñ½º¸¦ °ü¸®ÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ¸ðµâÀº Ansible Ç÷¹À̺Ͽ¡¼ tasks ¼½¼Ç ³»¿¡¼ »ç¿ëµË´Ï´Ù.
Á¦¾î ³ëµå (ManageMent Node) AnsibleÀº ÀÛ¾÷À» Áö½ÃÇϴ ȣ½ºÆ®¸¦ °ü¸® ³ëµå¶ó°í ÇÕ´Ï´Ù. ÀÌ ³ëµå¿¡´Â AnsibleÀÌ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. Á¦¾î ³ëµå ´ë»ó ³ëµå¿¡ ÀÛ¾÷À» ¹èÆ÷ÇÏ°í ½ÇÇàÇÕ´Ï´Ù.
´ë»ó ³ëµå (Target Node) AnsibleÀº ÀÛ¾÷ ´ë»óÀÇ È£½ºÆ®¸¦ ´ë»ó ³ëµå¶ó ÇÕ´Ï´Ù. ÀÌ ³ëµå¿¡´Â Python ÀÎÅÍÇÁ¸°ÅÍ°¡ ¼³Ä¡ µÇ¾î¾ß ÇÕ´Ï´Ù.
Ç÷¹ÀÌ ½ÇÇà (Play Execution) Á¦¾î ³ëµå¿¡¼ ÀÛ¼ºÇÑ Ç÷¹À̺ÏÀ» ½ÇÇàÇÕ´Ï´Ù. AnsibleÀº Àκ¥Å丮 ÆÄÀÏ¿¡¼ Á¤ÀÇÇÑ ´ë»ó ³ëµå ±×·ì¿¡ Æ÷ÇÔµÈ È£½ºÆ®µé¿¡°Ô Ç÷¹À̺ÏÀ» Àû¿ëÇÕ´Ï´Ù. ´ë»ó ³ëµå Á¢±Ù (Target Node Access) AnsibleÀº SSH ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© Á¦¾î È£½ºÆ®¿Í ´ë»ó ³ëµå »çÀÌ¿¡ ¿¬°áÀ» ¼³Á¤ÇÕ´Ï´Ù. À̸¦ ÅëÇØ AnsibleÀº ´ë»ó ³ëµå¿¡ ·Î±×ÀÎÇÏ¿© ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. °á°ú ¸®Æ÷Æà (Result Reporting) AnsibleÀº ÀÛ¾÷ ½ÇÇà °á°ú¸¦ Á¦¾î È£½ºÆ®¿¡ ¸®Æ÷ÆÃÇÕ´Ï´Ù. À̸¦ ÅëÇØ »ç¿ëÀÚ´Â ÀÛ¾÷ÀÇ ¼º°ø, ½ÇÆÐ ¶Ç´Â º¯°æ »çÇ×À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. AnsibleÀº ÀÌ·¯ÇÑ °á°ú¸¦ »ç¿ëÀÚ¿¡°Ô Á¦°øÇÏ°í ·Î±ëÇÏ¿© ÃßÀû °¡´É¼º°ú µð¹ö±ëÀ» Áö¿øÇÕ´Ï´Ù.
ÀÌ»óÀ¸·Î Ansbile ÀÇ °³³ä°ú µ¿ÀÛ ¹æ½Ä¿¡ ´ëÇØ ¾Ë¾Æ ºÃ½À´Ï´Ù.
Âü°í Ãâó https://dev.to/rahulku48837211/ansible-architecture-and-setup-2355 https://www.redhat.com/ko/technologies/management/ansible/what-is-ansible |
Content |
Name |
Date |
Hits |
---|---|---|---|
|
2023-07-18 |
405 |