Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์—ฐ์„ค๋ฌธ ์ „๋ฌธ์ž…๋‹ˆ๋‹ค ๋ฐ๋ธŒ์˜ต์Šค์ปจํผ๋Ÿฐ์Šค 2019-10-01 ะธ SPbLUG 2019-09-25.

์ž์ฒด ์ž‘์„ฑ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•œ ํ”„๋กœ์ ํŠธ์™€ Ansible๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐ 18๊ฐœ์›”์ด ๊ฑธ๋ฆฐ ์ด์œ ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ์ž…๋‹ˆ๋‹ค.

์š”์ผ ๋ฒˆํ˜ธ -ะฅะฅะฅ: ์‹œ์ž‘ ์ „

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์ฒ˜์Œ์— ์ธํ”„๋ผ๋Š” Hyper-V๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๋ณ„ ํ˜ธ์ŠคํŠธ๋กœ ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋จธ์‹ ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋””์Šคํฌ๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜์— ๋ฐฐ์น˜ํ•˜๊ณ , DNS๋ฅผ ๋“ฑ๋กํ•˜๊ณ , DHCP๋ฅผ ์˜ˆ์•ฝํ•˜๊ณ , VM ๊ตฌ์„ฑ์„ git ์ €์žฅ์†Œ์— ๋„ฃ๋Š” ๋“ฑ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋Š” ๋ถ€๋ถ„์ ์œผ๋กœ ๊ธฐ๊ณ„ํ™”๋˜์—ˆ์ง€๋งŒ ์˜ˆ๋ฅผ ๋“ค์–ด VM์€ ํ˜ธ์ŠคํŠธ ๊ฐ„์— ์ˆ˜๋™์œผ๋กœ ๋ฐฐํฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐœ๋ฐœ์ž๋Š” git์—์„œ VM ๊ตฌ์„ฑ์„ ์ˆ˜์ •ํ•˜๊ณ  VM์„ ์žฌ๋ถ€ํŒ…ํ•˜์—ฌ ์ด๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งž์ถคํ˜• ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์›๋ž˜ ์•„์ด๋””์–ด๋Š” ์žฌ๋ถ€ํŒ… ์‹œ ์ƒํƒœ๋ฅผ XNUMX์œผ๋กœ ์žฌ์„ค์ •ํ•˜๋Š” ๋งŽ์€ ์ƒํƒœ ๋น„์ €์žฅ VM์ธ IaC๋กœ ๊ตฌ์ƒ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. VM ๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ฐœ๋žต์ ์œผ๋กœ ๋ณด๋ฉด ๊ฐ„๋‹จํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

  1. VM์— ๋Œ€ํ•ด ์ •์  MAC์ด ๊ณ ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  2. CoreOS๊ฐ€ ํฌํ•จ๋œ ISO์™€ ๋ถ€ํŒ… ๋””์Šคํฌ๊ฐ€ VM์— ์—ฐ๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  3. CoreOS๋Š” ํ•ด๋‹น IP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์›น ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž ์ •์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  4. ์Šคํฌ๋ฆฝํŠธ๋Š” IP ์ฃผ์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ SCP๋ฅผ ํ†ตํ•ด VM ๊ตฌ์„ฑ์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  5. systemd ์œ ๋‹› ํŒŒ์ผ์˜ footcloth์™€ bash ์Šคํฌ๋ฆฝํŠธ์˜ footcloth๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์ด ์†”๋ฃจ์…˜์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ฐฑํ•œ ๋ฌธ์ œ๊ฐ€ ๋งŽ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  1. CoreOS ISO๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. VM์„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜/์ƒ์„ฑํ•  ๋•Œ ๋ณต์žกํ•˜๊ณ  ์ž๋™ํ™”๋œ ์ž‘์—…๊ณผ ๋งˆ๋ฒ•์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์—…๋ฐ์ดํŠธ๊ฐ€ ์–ด๋ ต๊ณ  ํŠน์ • ๋ฒ„์ „์˜ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ. ์ปค๋„ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋”์šฑ ์žฌ๋ฏธ์žˆ์Šต๋‹ˆ๋‹ค.
  4. VM์€ ๋ฐ์ดํ„ฐ ์—†์ด ํš๋“๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. VM์€ ์ถ”๊ฐ€ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ฐ€ ํƒ‘์žฌ๋œ ๋””์Šคํฌ์™€ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.
  5. ๋ˆ„๊ตฐ๊ฐ€ ์‹œ์Šคํ…œ ์žฅ์น˜ ์ข…์†์„ฑ์„ ์ง€์†์ ์œผ๋กœ ๋ง์ณ ๋†“๊ณ  ์žฌ๋ถ€ํŒ…ํ•  ๋•Œ CoreOS๊ฐ€ ์ •์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CoreOS์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ํฌ์ฐฉํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.
  6. ๋น„๋ฐ€ ๊ด€๋ฆฌ.
  7. CM์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. CoreOS์—๋Š” bash ๋ฐ YML ๊ตฌ์„ฑ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

VM ๊ตฌ์„ฑ์„ ์ ์šฉํ•˜๋ ค๋ฉด ์žฌ๋ถ€ํŒ…ํ•ด์•ผ ํ•˜์ง€๋งŒ ์žฌ๋ถ€ํŒ…๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ฐฑํ•œ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์ง€๋งŒ ์˜๊ตฌ ๋””์Šคํฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•  ๊ณณ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ž, ๋กœ๊ทธ๊ฐ€ ์ „์†ก๋˜๋„๋ก ์ปค๋„ ๋กœ๋”ฉ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•„๋‹™๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ๋ณต์žกํ•ฉ๋‹ˆ๊นŒ?

Day #0: ๋ฌธ์ œ ์ธ์‹

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์  ํ‚จ์Šค, ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ, ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋“ฑ ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ ์ธํ”„๋ผ์˜€์Šต๋‹ˆ๋‹ค. CoreOS๋Š” k8s ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” CoreOS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์Šคํƒ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์„ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. CentOS์— ๊ธฐ๋ณธ ๋ฐฐํฌํŒ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Š” ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐฐํฌ์ž…๋‹ˆ๋‹ค.
  2. ์ฑ…์ž„๊ฐ์žˆ๋Š” ๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ์กฐ์‚ฌ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  3. ์  ํ‚จ์Šค ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ์„œ ์ด๋ฏธ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  4. ํ•˜์ดํผ-V ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์œผ๋กœ. ์ด์•ผ๊ธฐ์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ํด๋ผ์šฐ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ณ  ์ž์ฒด ํ•˜๋“œ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

30์ผ์ฐจ: ๊ธฐ์กด ๊ณ„์•ฝ ์ˆ˜์ • - ์ฝ”๋“œ๋กœ์„œ์˜ ๊ณ„์•ฝ

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์Šคํƒ์ด ์ •๋ฆฌ๋˜์ž ์ด๋™ ์ค€๋น„๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ณ„์•ฝ์„ ์ฝ”๋“œ ํ˜•์‹์œผ๋กœ ์ˆ˜์ •(์ฝ”๋“œ๋กœ์„œ์˜ ๊ณ„์•ฝ!). ์ดํ–‰ ์† ์ž‘์—… -> ๊ธฐ๊ณ„ํ™” -> ์˜คํ† ๋ฉ”์ด์…˜.

1. VM ๊ตฌ์„ฑ

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

Ansible์€ ์ด ์ž‘์—…์„ ํ›Œ๋ฅญํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ์˜ ์‹ ์ฒด ์›€์ง์ž„์œผ๋กœ VM ๊ตฌ์„ฑ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Git ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  2. VM ๋ชฉ๋ก์„ ์ธ๋ฒคํ† ๋ฆฌ์—, ๊ตฌ์„ฑ์„ ํ”Œ๋ ˆ์ด๋ถ์—, ์—ญํ• ์— ๋„ฃ์Šต๋‹ˆ๋‹ค.
  3. ์šฐ๋ฆฌ๋Š” Ansible์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน๋ณ„ํ•œ ์  ํ‚จ์Šค ์Šฌ๋ ˆ์ด๋ธŒ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์ž‘์—…์„ ์ƒ์„ฑํ•˜๊ณ  Jenkins๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์•ฝ์€ ํ™•์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2. ์ƒˆ VM ์ƒ์„ฑ

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์—ฌ๊ธฐ์˜ ๋ชจ๋“  ๊ฒƒ์ด ๊ทธ๋‹ค์ง€ ํŽธ๋ฆฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Linux์—์„œ Hyper-V์— VM์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋ฆฌ ํŽธ๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ธฐ๊ณ„ํ™”ํ•˜๋ ค๋Š” ์‹œ๋„ ์ค‘ ํ•˜๋‚˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. Ansbile์€ WinRM์„ ํ†ตํ•ด Windows ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  2. Ansible์€ powershell ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  3. Powershell ์Šคํฌ๋ฆฝํŠธ๋Š” ์ƒˆ VM์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  4. Hyper-V/ScVMM์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒŒ์ŠคํŠธ OS์—์„œ VM์„ ์ƒ์„ฑํ•  ๋•Œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  5. DHCP ์ž„๋Œ€๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ VM์€ ํ•ด๋‹น ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  6. ๋„๋ฉ”์ธ ์ปจํŠธ๋กค๋Ÿฌ ์ธก์˜ ํ‘œ์ค€ ddns ๋ฐ dhcp ํ†ตํ•ฉ์€ DNS ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  7. ์ธ๋ฒคํ† ๋ฆฌ์— VM์„ ์ถ”๊ฐ€ํ•˜๊ณ  Ansible์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3.VM ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

๊ทธ๋“ค์€ ์—ฌ๊ธฐ์„œ ์•„๋ฌด๊ฒƒ๋„ ๋ฐœ๋ช…ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ํฌ์žฅ์—…์ž๋ฅผ ๋ฐ๋ ค๊ฐ”์Šต๋‹ˆ๋‹ค.

  1. git ์ €์žฅ์†Œ์— packer, kickstart ๊ตฌ์„ฑ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  2. Hyper-V ๋ฐ Packer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ˆ˜ ์  ํ‚จ์Šค ์Šฌ๋ ˆ์ด๋ธŒ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ž‘์—…์„ ์ƒ์„ฑํ•˜๊ณ  Jenkins๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด ๋งํฌ์˜ ์ž‘๋™ ๋ฐฉ์‹:

  1. Packer๋Š” ๋นˆ VM์„ ๋งŒ๋“ค๊ณ  ISO๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. VM์ด ๋ถ€ํŒ…๋˜๊ณ  Packer๋Š” ํ”Œ๋กœํ”ผ ๋””์Šคํฌ ๋˜๋Š” http์—์„œ ํ‚ฅ์Šคํƒ€ํŠธ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€ํŠธ๋กœ๋”์— ๋ช…๋ น์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  3. Anaconda๊ฐ€ ๊ตฌ์„ฑ์œผ๋กœ ์‹œ์ž‘๋˜๊ณ  ์ดˆ๊ธฐ OS ๊ตฌ์„ฑ์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
  4. Packer๋Š” VM์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
  5. VM ๋‚ด๋ถ€์˜ Packer๋Š” ๋กœ์ปฌ ๋ชจ๋“œ์—์„œ ansible์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  6. Ansible์€ 1๋‹จ๊ณ„์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ๊ณผ ์ •ํ™•ํžˆ ๋™์ผํ•œ ์—ญํ• ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  7. Packer๋Š” VM ํ…œํ”Œ๋ฆฟ์„ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

75์ผ์ฐจ: ๊ณ„์•ฝ์„ ์œ„๋ฐ˜ํ•˜์ง€ ์•Š๊ณ  ๋ฆฌํŒฉํ† ๋ง = ํ…Œ์ŠคํŠธ ์•ค์„œ๋ธ” + ํ…Œ์ŠคํŠธํ‚ค์นœ

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์ฝ”๋“œ์˜ ๊ทœ์น™์„ ์บก์ฒ˜ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ํ”„๋กœ์„ธ์Šค์˜ ๋ชจ๋“  ๋ฉด์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฌด์–ธ๊ฐ€๋ฅผ ๊นจ๋œจ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ธํ”„๋ผ์˜ ๊ฒฝ์šฐ ๋ฐ”๋กœ ์ด ์ธํ”„๋ผ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ํŒ€ ๋‚ด์—์„œ ์ง€์‹์„ ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด Ansible ์—ญํ• ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊นŠ๊ฒŒ ๋“ค์–ด๊ฐ€์ง„ ์•Š์„ ๊ฑฐ๋‹ˆ๊นŒ... ๊ทธ ๋‹น์‹œ ์‚ฌ๊ฑด์„ ์„ค๋ช…ํ•˜๋Š” ๊ธฐ์‚ฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ €๋ฅผ ํ…Œ์ŠคํŠธํ•ด ๋ณด์„ธ์š”. ์•„๋‹ˆ๋ฉด YML ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ Ansible ํ…Œ์ŠคํŠธ๋ฅผ ๊ฟˆ๊พธ๋‚˜์š”?(์Šคํฌ์ผ๋Ÿฌ ์ด๊ฒƒ์€ ์ตœ์ข… ๋ฒ„์ „์ด ์•„๋‹ˆ์—ˆ๊ณ  ๋‚˜์ค‘์— ๋ชจ๋“  ๊ฒƒ์ด ๋” ๋ณต์žกํ•ด์กŒ์Šต๋‹ˆ๋‹ค. Ansible ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  XNUMX๋…„ ์•ˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๋ฉฐ ๋‹นํ™ฉํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•).

Day #130: CentOS+ansible์ด ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‚˜์š”? ์•„๋งˆ ์˜คํ”ˆ์‹œํ”„ํŠธ?

์ธํ”„๋ผ๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ณผ์ •์ด ์œ ์ผํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  ๋ถ€์ˆ˜์ ์ธ ํ•˜์œ„ ํ”„๋กœ์ ํŠธ๋„ ์žˆ์—ˆ๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์šฐ๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜คํ”ˆ์‹œํ”„ํŠธ๋กœ ์‹คํ–‰ํ•ด ๋‹ฌ๋ผ๋Š” ์š”์ฒญ์ด ๋“ค์–ด์™”๊ณ  ์ด๋กœ ์ธํ•ด ์ผ์ฃผ์ผ ์ด์ƒ ์—ฐ๊ตฌ๊ฐ€ ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Openshift์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•˜๊ณ  ๊ธฐ์กด ๋„๊ตฌ๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ์ด๋™ ๊ณผ์ •์ด ๋Š๋ ค์กŒ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ openshift๊ฐ€ ๋ชจ๋“  ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜๋Š” ์—†์œผ๋ฉฐ ์‹ค์ œ ํ•˜๋“œ์›จ์–ด๊ฐ€ ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์ตœ์†Œํ•œ ์ปค๋„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค.

Day #170: Openshift๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Windows Azure ํŒฉ์„ ์‚ฌ์šฉํ•ด ๋ณผ๊นŒ์š”?

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

Hyper-V๋Š” ๊ทธ๋‹ค์ง€ ์นœ์ˆ™ํ•˜์ง€ ์•Š์œผ๋ฉฐ SCVMM์€ ๊ทธ๋‹ค์ง€ ๋‚˜์•„์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ SCVMM์˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด๋ฉฐ Azure๋ฅผ ๋ชจ๋ฐฉํ•˜๋Š” Windows Azure ํŒฉ๊ณผ ๊ฐ™์€ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ๋Š” ์ œํ’ˆ์ด ๋ฒ„๋ ค์ง„ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ์˜ ๋งํฌ๊ฐ€ ๋Š์–ด์ง€๊ณ  ๋งค์šฐ ๋“œ๋ฌผ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํด๋ผ์šฐ๋“œ ์ˆ˜๋ช…์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์˜ต์…˜์— ๋Œ€ํ•œ ์—ฐ๊ตฌ์˜ ์ผํ™˜์œผ๋กœ ํด๋ผ์šฐ๋“œ๋„ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค.

250์ผ์ฐจ: Windows Azure ํŒฉ์ด ๋ณ„๋กœ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” SCVMM์— ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

Windows Azure ํŒฉ์€ ์œ ๋งํ•ด ๋ณด์˜€์ง€๋งŒ ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ๋ณต์žกํ•œ WAP๋ฅผ ์‹œ์Šคํ…œ์— ๋„์ž…ํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๊ณ  SCVMM์„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

Day #360: ์ฝ”๋ผ๋ฆฌ๋ฅผ ํ•œ ์กฐ๊ฐ์”ฉ ๋จน์–ด์น˜์šด๋‹ค

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

๋ถˆ๊ณผ XNUMX๋…„ ๋งŒ์— ์ด์ „์„ ์œ„ํ•œ ํ”Œ๋žซํผ์ด ์ค€๋น„๋˜์—ˆ๊ณ  ์ด์ „ ๊ณผ์ •์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด SMART ์ž‘์—…์ด ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  VM์„ ํ™•์ธํ•˜๊ณ  ๊ตฌ์„ฑ์„ ํ•˜๋‚˜์”ฉ ํŒŒ์•…ํ•˜๊ณ  ์ด๋ฅผ Ansible์—์„œ ์„ค๋ช…ํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋กœ ๋‹ค๋ฃจ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

Day #450: ์–ด๋–ค ์ข…๋ฅ˜์˜ ์‹œ์Šคํ…œ์„ ์–ป์—ˆ๋‚˜์š”?

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

๊ณผ์ • ์ž์ฒด๋Š” ํฅ๋ฏธ๋กญ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ผ์ƒ์ ์ธ ์ผ์ด๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ๊ตฌ์„ฑ์€ ์ƒ๋Œ€์ ์œผ๋กœ ๋‹จ์ˆœํ•˜๊ฑฐ๋‚˜ ๋™ํ˜•์ด์—ˆ์œผ๋ฉฐ ํŒŒ๋ ˆํ†  ์›์น™์— ๋”ฐ๋ฅด๋ฉด VM ๊ตฌ์„ฑ์˜ 80%์—๋Š” 20%์˜ ์‹œ๊ฐ„์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์›์น™์— ๋”ฐ๋ผ ์ด๋™ ์ค€๋น„์— 80%์˜ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๊ณ  ์ด๋™ ์ž์ฒด์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์€ 20%์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.

540์ผ์ฐจ: ์ตœ์ข…

Ansible: 120๊ฐœ์›” ๋งŒ์— CoreOS์—์„œ CentOS๋กœ 18๊ฐœ์˜ VM ๊ตฌ์„ฑ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

18๊ฐœ์›” ๋™์•ˆ ๋ฌด์Šจ ์ผ์ด ์žˆ์—ˆ๋˜ ๊ฑธ๊นŒ์š”?

  1. ๊ณ„์•ฝ์€ ์ฝ”๋“œ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  2. ์† ์ž‘์—… -> ๊ธฐ๊ณ„ํ™” -> ์˜คํ† ๋ฉ”์ด์…˜.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€