๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DevOps/IaC ์ž๋™ํ™”

[Ansible] ์„ค์น˜ ๋ฐ ์‹ค์Šต ํ™˜๊ฒฝ ๊ตฌ์ถ•, Ansible์ด๋ž€? ์™œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€?

by ๐ŸŒปโ™š 2020. 12. 6.

Ansible์€ ๋ฌด์—‡์ด๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€?

  Ansible์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰์„ ํ•˜์…จ๋‹ค๋Š” ๊ฒƒ์€ ์ž๋™ํ™”๋‚˜ DevOps๋ฅผ ์ด๋ฏธ Researching ํ–ˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค. ์ฃผ๋ณ€์—์„œ Ansible, Puppet, Chef ํ˜น์€ Salt์™€ ๊ฐ™์€ ๋ฐฐํฌ ์ž๋™ํ™” ๊ด€๋ฆฌ ํˆด์„ ๋“ค์–ด๋ณด์…จ์„ํ…๋ฐ ๋„๋Œ€์ฒด ์–ด๋–ค ๊ธฐ๋Šฅ์„ ํ•  ์ˆ˜ ์žˆ๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค.

 

 ์‹œ์Šคํ…œ์„ ์ด๋ฃจ๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๊ฐ€ ๋ชจ์—ฌ ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์œผ๋กœ ์šด์˜์ด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฐ๋‹ฌ์•ฑ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์„œ๋น„์Šค๋“ค์„ ๋‚˜์—ดํ•ด๋ณด๋ฉด... ๊ณ ๊ฐ ๋ฐ ๋ฐฐ๋‹ฌ์›๋“ค์ด ์•ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋กœ๊ทธ์ธ ์„œ๋น„์Šค, ๊ณ ๊ฐ๋“ค์˜ ์ฃผ๋ฌธ ์„œ๋น„์Šค, ๋ฐฐ๋‹ฌ์›๋“ค์ด ๋ฐฐ๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์„œ๋น„์Šค, ์ฃผ๋ฌธ ๊ฒฐ์ œ ์„œ๋น„์Šค, DB ์„œ๋น„์Šค ๋“ฑ... ์—ฌ๋Ÿฌ๊ฐœ์˜ ์„œ๋น„์Šค๊ฐ€ ์šด์˜๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฐ๊ฐ ์„œ๋น„์Šค๋“ค์€ ์—ฌ๋Ÿฌ๋Œ€์˜ ์„œ๋ฒ„์—์„œ ๋”ฐ๋กœ ์šด์˜์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„ ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ ์ˆ˜๋ก ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋ฒ„์˜ ์ˆ˜๋„ ๋งŽ์•„์ง€๊ณ  ๊ด€๋ฆฌ๊ฐ€ ์ ์  ํž˜๋“ค์–ด์ง‘๋‹ˆ๋‹ค.

 

 ์ด๋•Œ ๋งค๋‹ฌ ๋ฐฐ๋‹ฌ ์‹œ์Šคํ…œ์„ ํŒจ์น˜๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ํŒจ์น˜ํ•  ๋•Œ๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๊ผญ ์ง„ํ–‰ํ•˜๊ณ  ๋ฐฐํฌ๋ฅผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ 1๋Œ€๋ฉด ํ•œ๋ฒˆ๋งŒ ๋ฐฐํฌ๊ณผ์ •์„ ์‹คํ–‰ํ•ด๋„ ๋˜๊ฒ ์ง€๋งŒ.... ๋งŒ์•ฝ ํŒจ์น˜ํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ 100๋Œ€.... 1000๋Œ€.... ์ด๋ ‡๋‹ค๋ฉด ๋ชจ๋“  ์„œ๋ฒ„์— ๋ถ™์–ด์„œ ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ํ•ด์•ผ ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ด๋Ÿฐ ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ๋Œ€์‹  ํ•ด์ฃผ๋Š” ํˆด์ด ์žˆ๋‹ค๋ฉด ์–ด๋–จ๊นŒ์š”? ์‹œ๊ฐ„์  ๋น„์šฉ๋„ ๋งŽ์ด ์ค„์ผ ์ˆ˜ ์žˆ๊ณ , Human Error๋„ ์ค„์ผ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ์š”?

 

 Ansible์€ ์œ„์™€ ๊ฐ™์ด ์„œ๋ฒ„์— ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐํฌ ์ž๋™ํ™” ๊ด€๋ฆฌ ํˆด ์ค‘ ํ•˜๋‚˜๋กœ์„œ DevOps ์—…๋ฌด์— ํ•„์š”ํ•˜๊ณ  ์—…๋ฌด์  ํšจ์œจ์„ ์ฆ์ง„ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํˆด์ž…๋‹ˆ๋‹ค.

 

Puppet, Chef, Salt์™€ ๋น„๊ต๋˜์–ด Ansible์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

Ansible ๋ง๊ณ ๋„ Puppet, Chef, Salt์™€ ๊ฐ™์ด ๋ฐฐํฌ ์ž๋™ํ™” ๊ด€๋ฆฌ ํˆด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์ด 4๊ฐœ ํˆด ์ค‘ Ansible์ด ๊ฐ€์žฅ ๋Šฆ๊ฒŒ ๋งŒ๋“ค์–ด ์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์™œ Ansible์„ ์‚ฌ์šฉํ• ๊นŒ์š”?

 

 ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” agent ์„ค์น˜๊ฐ€ ํ•„์š” ์—†๋‹ค๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํˆด์—์„œ๋Š” agent ์„ค์น˜ ํ›„, agent๊ฐ€ master์—๊ฒŒ ๋ฌด์—‡์„ ํ•ด์•ผํ• ์ง€ ๋ฌผ์–ด๋ณด๋Š” ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š”๋ฐ... Ansible์—์„œ๋Š” ๊ด€๋ฆฌ๋˜๋Š” Host์— ์–ด๋– ํ•œ Process๋ฅผ ์ž‘๋™ ์‹œํ‚ฌ ํ•„์š” ์—†์ด SSH ํ†ต์‹ ์„ ํ†ตํ•ด master๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋Š” Host์— ๋ช…๋ น์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

 

 ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ๊ธฐ์ˆ ์ ์œผ๋กœ๋„ ๋ณต์žก๋„๊ฐ€ ๋‚ฎ์•„์ง€๋Š” ์žฅ์ ์„ ๊ฐ–๊ณ  ๋งŽ์€ ์ง€์ง€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์‹ค์Šต ํ™˜๊ฒฝ ๊ตฌ์„ฑ

Virtual box๋ฅผ ์ด์šฉํ•ด์„œ master์™€ ๊ด€๋ฆฌํ•  node ์„œ๋ฒ„๋“ค์˜ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ€์ƒ ๋จธ์‹  : Virtual Box : https://www.virtualbox.org/wiki/Downloads
OS : CentOS 7 Minimal : http://mirror.kakao.com/centos/7.9.2009/isos/x86_64/
master : Ansible ์„ค์น˜
node1, node2 : ๊ด€๋ฆฌ ๋Œ€์ƒ ์„œ๋น„
์‹ค์Šต์€ Mac OS์—์„œ ์ง„ํ–‰ํ•˜์ง€๋งŒ... ๊ฐ€์ƒ๋จธ์‹ ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œˆ๋„์šฐ์—์„œ ์ง„ํ–‰ํ•ด๋„ ์ฐจ์ด๋Š” ์—†์Šต๋‹ˆ๋‹ค.

 

Master ์„œ๋ฒ„ ํ™˜๊ฒฝ ๊ตฌ์„ฑ

Virtual Box ์„ค์น˜ ๋ฐ ์ด๋ฏธ์ง€ ์ƒ์„ฑ ์ค€๋น„

Virtual Box ์‹คํ–‰ > ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ

์šด์˜์ฒด์ œ ์ข…๋ฅ˜์™€ ์ด๋ฆ„์„ ์„ ํƒ

 

๊ฐ๊ฐ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ์„ค์ •.

 

์ƒˆ ๊ฐ€์ƒ ํ•˜๋“œ ๋””์Šคํฌ๋ฅผ ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๋””์Šคํฌ ์ด๋ฏธ์ง€๋กœ ์ƒ์„ฑ

 

๋™์  ํ• ๋‹น์œผ๋กœ ์ง€์ •

 

๋™์ •ํ• ๋‹น์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ์šฐ์„  ์ตœ๋Œ€์น˜๋กœ ์žก๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๋ช‡๊ฐ€์ง€ ์„ค์ •ํ•˜๊ณ  ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ด๋ฏธ์ง€ ์„ค์ • > ๋„คํŠธ์›Œํฌ

์™ธ๋ถ€ ํ†ต์‹ ๊ณผ node๋ผ๋ฆฌ ํ†ต์‹ ์„ ์œ„ํ•ด ๋„คํŠธ์›Œํฌ๋Š” ๋ธŒ๋ฆฟ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ด๋ฏธ์ง€ ์„ ํƒ > ์ €์žฅ์†Œ

์ €์žฅ์†Œ์— ๋“œ๋ผ์ด๋ธŒ๊ฐ€ ๋น„์–ด์žˆ๋‹ค๊ณ  ๋‚˜์™€์žˆ์„๊ฒ๋‹ˆ๋‹ค. ๋‹ค์šด๋ฐ›์€ CentOS ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ•ด์ฃผ๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค.

 

 

์ด๋ฏธ์ง€ ์‹คํ–‰ CentOS ์„ค์น˜

ํ•œ๊ธ€ ์ง€์›๋„ ๋˜์ง€๋งŒ... trouble shooting ํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•  ๋•Œ, ์˜์–ด๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋งŽ์€ ์ž๋ฃŒ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Installation Destination ์„ค์ •์„ ํด๋ฆญํ•˜์—ฌ Done ๋ฒ„ํŠผ๋งŒ ํด๋ฆญํ•˜๊ณ  ๋‚˜์˜ต๋‹ˆ๋‹ค.

 

 

Network ์„ค์ •

Hostname์„ ์ˆ˜์ •ํ•˜๊ณ  network๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์ •๋ณด๋Š” ๋‚˜์ค‘์— ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์— ๋”ฐ๋ผ IP ์ •๋ณด๋Š” ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ ์„ค์ •์„ ์™„๋ฃŒํ•˜๊ณ  ์„ค์น˜๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค.

 

Network ์ˆ˜๋™ ์„ค์ •

๋„คํŠธ์›ŒํŠธ ์ˆ˜๋™ ์„ค์ •์€ ๋จธ์‹ ์ด ์žฌ๋ถ€ํŒ…๋  ๋•Œ ํ™˜๊ฒฝ์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์–ด์„œ ๊ณ ์ • ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜๋™ ์„ค์ •์„ ํ•ฉ๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ์„ค์ •ํ•˜๋Š”๋ฐ... ์ž˜์•ˆ๋˜๊ณ ... ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํŽธ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ์™ธ๋ถ€์™€ ๋‚ด๋ถ€ ํ†ต์‹  ๋ชจ๋‘ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

# yum install -y net-tools
# ifconfig

๋„คํŠธ์›Œํฌ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด net-tools๋ฅผ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค.

 

# ip route
# ifconfig
# cat /etc/resolv.conf

์ž๋™์œผ๋กœ ์„ค์ •๋œ gateway, ip subnet mask, dns server์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ  ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๊ณ ์ •์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

 

# nmtui

๋„คํŠธ์›Œํฌ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

 

Edit a connection

๋ฏธ๋ฆฌ ํ™•์ธํ•ด๋‘” ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

 

# systemctl restart network
# ifconfig

๋ณ€๊ฒฝํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด network ์„œ๋น„์Šค๋ฅผ ์žฌ์‹คํ–‰ํ•˜๊ณ  ํ™•์ธํ•ด์ค๋‹ˆ๋‹ค.

 

 

Network ํ™•์ธ

# ping google.com

์™ธ๋ถ€ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ์—†์ด ํ†ต์‹ ์ด ๋˜๋ฉด ๋„คํŠธ์›Œํฌ ์„ค์ • ์™„๋ฃŒ์ž…๋‹ˆ๋‹ค.

 

# shutdown now

๋‹ค์Œ์€ Node ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ์ง€๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

 

 

Node ํ™˜๊ฒฝ๊ตฌ์„ฑ

master ์ด๋ฏธ์ง€ ์šฐํด๋ฆญ > ๋ณต์ œ

๋จธ์‹  ์ด๋ฆ„์„  ๋ณ€๊ฒฝํ•˜๊ณ 

MAC ์ฃผ์†Œ ์ •์ฑ…์€ '๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์–ด๋Œ‘ํ„ฐ์˜ ์ƒˆ MAC ์ฃผ์†Œ ์ƒ์„ฑ'์œผ๋กœ ๋ณ€๊ฒฝ ํ•˜๊ณ  ๊ณ„์†ํ•ด์„œ ์™„์ „ํ•œ ๋ณต์ œ๋กœ ์ง„ํ–‰

 

์ƒˆ๋กœ ์ƒ์„ฑํ•œ Node ์‹คํ–‰ > ๋„คํŠธ์›Œํฌ ์ˆ˜์ •

# hostnamectl set-hostname node1.test
# hostname

hostname์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

 

master์˜ ๋„คํŠธ์›Œํฌ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

 

 

node๋ฅผ 2๊ฐœ ๋งŒ๋“ค์–ด ์ค„ ์˜ˆ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฆ„๊ณผ ๋„คํŠธ์›Œํฌ ์ •๋ณด๋งŒ ๋ณ€๊ฒฝํ•ด์„œ ํ•˜๋‚˜์˜ node๋ฅผ ๋” ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

 

 

์„ค์ • ํ™•์ธ

์•ž์œผ๋กœ ์‹ค์Šต์„ ์ง„ํ–‰ํ•  ๋•Œ, 3๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ ๋ชจ๋“œ ์‹คํ–‰ํ•œ ์ƒํƒœ์—์„œ ํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์„ค์น˜ํ•œ 3๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ ๋ชจ๋“œ ์‹คํ–‰ํ•˜๊ณ  master์—์„œ node๋กœ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•˜๊ณ  ansible ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

# vi /etc/hosts

#์•„๋ž˜ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
220.86.186.1 node1.test
222.111.61.161 node2.test

hostname์œผ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด host๋ฅผ ์ถ”๊ฐ€ํ•ด์คฌ์Šต๋‹ˆ๋‹ค.

๊ฐ host์— ๋งž๋Š” ip๋กœ ์ €์ •ํ•ด์ค๋‹ˆ๋‹ค.

 

# ping -c 3 node1.test
# ping -c 3 node2.test

์„œ๋กœ ํ†ต์‹ ์ด ๋œ๊ฐ€๋ฉด ํ™˜๊ฒฝ ์„ค์ •์€ ๋์ž…๋‹ˆ๋‹ค.

์ดํ›„ ํŒจํ‚ค์ง€ ์„ค์น˜๋‚˜ ๊ด€๋ฆฌํ•˜๋Š” node์—์„œ๋„ ์™ธ๋ถ€ ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก... google.com์— ping์ด ๊ฐ€๋Š”์ง€ ๊ฐ๊ฐ ํ™•์ธํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

Ansible ์„ค์น˜

Ansible์„ ์„ค์น˜ํ•˜๋Š” ์„œ๋ฒ„๋Š” ๋‹น์—ฐ! Master ์„œ๋ฒ„์— ํ•ด์ค๋‹ˆ๋‹ค.

# root@master # yum install -y epel-release ##Ansible ์„ค์น˜ ํŒจํ‚ค์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์„ค์น˜
# root@master # yum install -y ansible

์„ค์น˜ ๋์ž…๋‹ˆ๋‹ค.

 

Ansible ์‹คํ–‰ ํ™•์ธ

# root@master # vi /etc/ansible/hosts

############# ์•„๋ž˜ ๋‚ด์šฉ ์ถ”๊ฐ€
[nodes]
node1.test
node2.test

/etc/ansible/hosts ํŒŒ์ผ์— ๊ด€๋ฆฌ๋˜๋Š” Host์˜ IP ์ •๋ณด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

 

 

# ansible all -m ping -k

๊ฐ๊ฐ Host์— ping์„ ๋ณด๋‚ด๋Š” ๋ช…๋ น์„ ๋ณด๋‚ด๋ฉด ์šฐ์„  ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Š” SSH ์—ฐ๊ฒฐ์ด ์ฒ˜์Œ์ด์–ด์„œ ์ธ์ฆ์„ ์œ„ํ•œ ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์—ฐ๊ฒฐ์„ ๊ณ„์† ์ง„ํ–‰ํ•  ์š”์ฒญ์ด ์•ˆ๋‚˜์˜ค๋ฉด ์ง์ ‘ ssh ์—ฐ๊ฒฐ์„ ํ•œ๋ฒˆ์”ฉ ํ•ด์ฃผ๊ณ  ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

 

# ssh root@node1.test
# ssh root@node2.test

 

# ansible all -m ping -k

๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ์ด์ƒ์—†์ด ๋ช…๋ น์ด ์‹คํ–‰๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๋Œ“๊ธ€