์ฐ์ค๋ฌธ ์ ๋ฌธ์
๋๋ค
์์ฒด ์์ฑ ๊ตฌ์ฑ ๊ด๋ฆฌ ์์คํ ์ ์ฌ์ฉํ ํ๋ก์ ํธ์ Ansible๋ก ์ ํํ๋ ๋ฐ 18๊ฐ์์ด ๊ฑธ๋ฆฐ ์ด์ ์ ๋ํ ์ด์ผ๊ธฐ์ ๋๋ค.
์์ผ ๋ฒํธ -ะฅะฅะฅ: ์์ ์
์ฒ์์ ์ธํ๋ผ๋ Hyper-V๋ฅผ ์คํํ๋ ์ฌ๋ฌ ๊ฐ๋ณ ํธ์คํธ๋ก ๊ตฌ์ฑ๋์์ต๋๋ค. ๊ฐ์ ๋จธ์ ์ ์์ฑํ๋ ค๋ฉด ๋์คํฌ๋ฅผ ์ฌ๋ฐ๋ฅธ ์์น์ ๋ฐฐ์นํ๊ณ , DNS๋ฅผ ๋ฑ๋กํ๊ณ , DHCP๋ฅผ ์์ฝํ๊ณ , VM ๊ตฌ์ฑ์ git ์ ์ฅ์์ ๋ฃ๋ ๋ฑ ์ฌ๋ฌ ๋จ๊ณ๊ฐ ํ์ํ์ต๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๋ถ๋ถ์ ์ผ๋ก ๊ธฐ๊ณํ๋์์ง๋ง ์๋ฅผ ๋ค์ด VM์ ํธ์คํธ ๊ฐ์ ์๋์ผ๋ก ๋ฐฐํฌ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์๋ฅผ ๋ค์ด ๊ฐ๋ฐ์๋ git์์ VM ๊ตฌ์ฑ์ ์์ ํ๊ณ VM์ ์ฌ๋ถํ ํ์ฌ ์ด๋ฅผ ์ ์ฉํ ์ ์์ต๋๋ค.
๋ง์ถคํ ๊ตฌ์ฑ ๊ด๋ฆฌ ์๋ฃจ์
์๋ ์์ด๋์ด๋ ์ฌ๋ถํ ์ ์ํ๋ฅผ XNUMX์ผ๋ก ์ฌ์ค์ ํ๋ ๋ง์ ์ํ ๋น์ ์ฅ VM์ธ IaC๋ก ๊ตฌ์๋ ๊ฒ ๊ฐ์ต๋๋ค. VM ๊ตฌ์ฑ ๊ด๋ฆฌ๋ ๋ฌด์์ ๋๊น? ๊ฐ๋ต์ ์ผ๋ก ๋ณด๋ฉด ๊ฐ๋จํด ๋ณด์ ๋๋ค.
- VM์ ๋ํด ์ ์ MAC์ด ๊ณ ์ ๋์์ต๋๋ค.
- CoreOS๊ฐ ํฌํจ๋ ISO์ ๋ถํ ๋์คํฌ๊ฐ VM์ ์ฐ๊ฒฐ๋์์ต๋๋ค.
- CoreOS๋ ํด๋น IP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์น ์๋ฒ์์ ์ฌ์ฉ์ ์ ์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ์คํํฉ๋๋ค.
- ์คํฌ๋ฆฝํธ๋ IP ์ฃผ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก SCP๋ฅผ ํตํด VM ๊ตฌ์ฑ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
- systemd ์ ๋ ํ์ผ์ footcloth์ bash ์คํฌ๋ฆฝํธ์ footcloth๊ฐ ์คํ๋ฉ๋๋ค.
์ด ์๋ฃจ์ ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ช ๋ฐฑํ ๋ฌธ์ ๊ฐ ๋ง์ด ์์์ต๋๋ค.
- CoreOS ISO๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
- VM์ ๋ง์ด๊ทธ๋ ์ด์ /์์ฑํ ๋ ๋ณต์กํ๊ณ ์๋ํ๋ ์์ ๊ณผ ๋ง๋ฒ์ด ๋ง์ด ์์ต๋๋ค.
- ์ ๋ฐ์ดํธ๊ฐ ์ด๋ ต๊ณ ํน์ ๋ฒ์ ์ ์ํํธ์จ์ด๊ฐ ํ์ํ ๊ฒฝ์ฐ. ์ปค๋ ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ๋์ฑ ์ฌ๋ฏธ์์ต๋๋ค.
- VM์ ๋ฐ์ดํฐ ์์ด ํ๋๋์ง ์์์ต๋๋ค. VM์ ์ถ๊ฐ ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ฐ ํ์ฌ๋ ๋์คํฌ์ ํจ๊ป ๋ํ๋ฌ์ต๋๋ค.
- ๋๊ตฐ๊ฐ ์์คํ ์ฅ์น ์ข ์์ฑ์ ์ง์์ ์ผ๋ก ๋ง์ณ ๋๊ณ ์ฌ๋ถํ ํ ๋ CoreOS๊ฐ ์ ์ง๋์์ต๋๋ค. CoreOS์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ํฌ์ฐฉํ๋ ๊ฒ์ ์ด๋ ค์ ์ต๋๋ค.
- ๋น๋ฐ ๊ด๋ฆฌ.
- CM์ด ์์์ต๋๋ค. CoreOS์๋ bash ๋ฐ YML ๊ตฌ์ฑ์ด ์์์ต๋๋ค.
VM ๊ตฌ์ฑ์ ์ ์ฉํ๋ ค๋ฉด ์ฌ๋ถํ ํด์ผ ํ์ง๋ง ์ฌ๋ถํ ๋์ง ์์ ์ ์์ต๋๋ค. ๋ช ๋ฐฑํ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ง๋ง ์๊ตฌ ๋์คํฌ๊ฐ ์์ต๋๋ค. ๋ก๊ทธ๋ฅผ ์ ์ฅํ ๊ณณ์ด ์์ต๋๋ค. ์, ๋ก๊ทธ๊ฐ ์ ์ก๋๋๋ก ์ปค๋ ๋ก๋ฉ ์ต์ ์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ํ์ง๋ง ์๋๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ด ์ผ๋ง๋ ๋ณต์กํฉ๋๊น?
Day #0: ๋ฌธ์ ์ธ์
์ ํจ์ค, ํ ์คํธ ํ๊ฒฝ, ๋ชจ๋ํฐ๋ง, ๋ ์ง์คํธ๋ฆฌ ๋ฑ ์ผ๋ฐ์ ์ธ ๊ฐ๋ฐ ์ธํ๋ผ์์ต๋๋ค. CoreOS๋ k8s ํด๋ฌ์คํฐ๋ฅผ ํธ์คํ ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ฌธ์ ๋ CoreOS๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ์คํ์ ์ ํํ๋ ๊ฒ์ด์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์์ ๊ฒฐ์ ํ์ต๋๋ค.
- CentOS์ ๊ธฐ๋ณธ ๋ฐฐํฌํ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์ด๋ ํ๋ก๋์ ํ๊ฒฝ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐฐํฌ์ ๋๋ค.
- ์ฑ ์๊ฐ์๋ ๊ตฌ์ฑ ๊ด๋ฆฌ๋ฅผ ์ํด ๊ทธ๊ฒ์ ๋ํ ๊ด๋ฒ์ํ ์กฐ์ฌ๊ฐ์์์ต๋๋ค.
- ์ ํจ์ค ๊ธฐ์กด ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๊ธฐ ์ํ ํ๋ ์์ํฌ๋ก์ ์ด๋ฏธ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉ๋์์ต๋๋ค.
- ํ์ดํผ-V ๊ฐ์ํ ํ๋ซํผ์ผ๋ก. ์ด์ผ๊ธฐ์ ๋ฒ์๋ฅผ ๋์ด์๋ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๊ฐ ์์ง๋ง ๊ฐ๋จํ ๋งํด์ ํด๋ผ์ฐ๋๋ฅผ ์ฌ์ฉํ ์ ์๊ณ ์์ฒด ํ๋์จ์ด๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
30์ผ์ฐจ: ๊ธฐ์กด ๊ณ์ฝ ์์ - ์ฝ๋๋ก์์ ๊ณ์ฝ
์คํ์ด ์ ๋ฆฌ๋์ ์ด๋ ์ค๋น๊ฐ ์์๋์์ต๋๋ค. ๊ธฐ์กด ๊ณ์ฝ์ ์ฝ๋ ํ์์ผ๋ก ์์ (์ฝ๋๋ก์์ ๊ณ์ฝ!). ์ดํ ์ ์์ -> ๊ธฐ๊ณํ -> ์คํ ๋ฉ์ด์ .
1. VM ๊ตฌ์ฑ
Ansible์ ์ด ์์ ์ ํ๋ฅญํ๊ฒ ์ํํฉ๋๋ค. ์ต์ํ์ ์ ์ฒด ์์ง์์ผ๋ก VM ๊ตฌ์ฑ์ ์ ์ดํ ์ ์์ต๋๋ค.
- Git ์ ์ฅ์๋ฅผ ๋ง๋ญ๋๋ค.
- VM ๋ชฉ๋ก์ ์ธ๋ฒคํ ๋ฆฌ์, ๊ตฌ์ฑ์ ํ๋ ์ด๋ถ์, ์ญํ ์ ๋ฃ์ต๋๋ค.
- ์ฐ๋ฆฌ๋ Ansible์ ์คํํ ์ ์๋ ํน๋ณํ ์ ํจ์ค ์ฌ๋ ์ด๋ธ๋ฅผ ์ค์ ํ๊ณ ์์ต๋๋ค.
- ์์ ์ ์์ฑํ๊ณ Jenkins๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์ฒซ ๋ฒ์งธ ํ๋ก์ธ์ค๊ฐ ์ค๋น๋์์ต๋๋ค. ๊ณ์ฝ์ ํ์ ๋์์ต๋๋ค.
2. ์ VM ์์ฑ
์ฌ๊ธฐ์ ๋ชจ๋ ๊ฒ์ด ๊ทธ๋ค์ง ํธ๋ฆฌํ์ง ์์์ต๋๋ค. Linux์์ Hyper-V์ VM์ ์์ฑํ๋ ๊ฒ์ ๊ทธ๋ฆฌ ํธ๋ฆฌํ์ง ์์ต๋๋ค. ์ด ํ๋ก์ธ์ค๋ฅผ ๊ธฐ๊ณํํ๋ ค๋ ์๋ ์ค ํ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Ansbile์ WinRM์ ํตํด Windows ํธ์คํธ์ ์ฐ๊ฒฐํฉ๋๋ค.
- Ansible์ powershell ์คํฌ๋ฆฝํธ๋ฅผ ์คํํฉ๋๋ค.
- Powershell ์คํฌ๋ฆฝํธ๋ ์ VM์ ๋ง๋ญ๋๋ค.
- Hyper-V/ScVMM์ ์ฌ์ฉํ์ฌ ๊ฒ์คํธ OS์์ VM์ ์์ฑํ ๋ ํธ์คํธ ์ด๋ฆ์ด ๊ตฌ์ฑ๋ฉ๋๋ค.
- DHCP ์๋๋ฅผ ์ ๋ฐ์ดํธํ ๋ VM์ ํด๋น ํธ์คํธ ์ด๋ฆ์ ๋ณด๋ ๋๋ค.
- ๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ ์ธก์ ํ์ค ddns ๋ฐ dhcp ํตํฉ์ DNS ๋ ์ฝ๋๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
- ์ธ๋ฒคํ ๋ฆฌ์ VM์ ์ถ๊ฐํ๊ณ Ansible์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
3.VM ํ ํ๋ฆฟ ์์ฑ
๊ทธ๋ค์ ์ฌ๊ธฐ์ ์๋ฌด๊ฒ๋ ๋ฐ๋ช ํ์ง ์์์ต๋๋ค. ๊ทธ๋ค์ ํฌ์ฅ์ ์๋ฅผ ๋ฐ๋ ค๊ฐ์ต๋๋ค.
- git ์ ์ฅ์์ packer, kickstart ๊ตฌ์ฑ์ ์ถ๊ฐํฉ๋๋ค.
- Hyper-V ๋ฐ Packer๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์ ํจ์ค ์ฌ๋ ์ด๋ธ๋ฅผ ์ค์ ํฉ๋๋ค.
- ์์ ์ ์์ฑํ๊ณ Jenkins๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์ด ๋งํฌ์ ์๋ ๋ฐฉ์:
- Packer๋ ๋น VM์ ๋ง๋ค๊ณ ISO๋ฅผ ์ ํํฉ๋๋ค.
- VM์ด ๋ถํ ๋๊ณ Packer๋ ํ๋กํผ ๋์คํฌ ๋๋ http์์ ํฅ์คํํธ ํ์ผ์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ถํธ๋ก๋์ ๋ช ๋ น์ ์ ๋ ฅํฉ๋๋ค.
- Anaconda๊ฐ ๊ตฌ์ฑ์ผ๋ก ์์๋๊ณ ์ด๊ธฐ OS ๊ตฌ์ฑ์ด ์๋ฃ๋ฉ๋๋ค.
- Packer๋ VM์ ์ฌ์ฉํ ์ ์์ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
- VM ๋ด๋ถ์ Packer๋ ๋ก์ปฌ ๋ชจ๋์์ ansible์ ์คํํฉ๋๋ค.
- Ansible์ 1๋จ๊ณ์์ ์๋ํ๋ ๊ฒ๊ณผ ์ ํํ ๋์ผํ ์ญํ ์ ์ฌ์ฉํฉ๋๋ค.
- Packer๋ VM ํ ํ๋ฆฟ์ ๋ด๋ณด๋ ๋๋ค.
75์ผ์ฐจ: ๊ณ์ฝ์ ์๋ฐํ์ง ์๊ณ ๋ฆฌํฉํ ๋ง = ํ ์คํธ ์ค์๋ธ + ํ ์คํธํค์น
์ฝ๋์ ๊ท์น์ ์บก์ฒํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ ์ ์์ต๋๋ค. ๊ฒฐ๊ตญ ํ๋ก์ธ์ค์ ๋ชจ๋ ๋ฉด์์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ๋ฌด์ธ๊ฐ๋ฅผ ๊นจ๋จ๋ฆด ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ธํ๋ผ์ ๊ฒฝ์ฐ ๋ฐ๋ก ์ด ์ธํ๋ผ์ ๋ํ ํ
์คํธ๊ฐ ๋ํ๋ฉ๋๋ค. ํ ๋ด์์ ์ง์์ ๋๊ธฐํํ๊ธฐ ์ํด Ansible ์ญํ ์ ํ
์คํธํ๊ธฐ ์์ํ์ต๋๋ค. ๊น๊ฒ ๋ค์ด๊ฐ์ง ์์ ๊ฑฐ๋๊น... ๊ทธ ๋น์ ์ฌ๊ฑด์ ์ค๋ช
ํ๋ ๊ธฐ์ฌ๊ฐ ์์ต๋๋ค.
Day #130: CentOS+ansible์ด ํ์ํ์ง ์์ ์๋ ์๋์? ์๋ง ์คํ์ํํธ?
์ธํ๋ผ๋ฅผ ๋์
ํ๋ ๊ณผ์ ์ด ์ ์ผํ ๊ฒ์ด ์๋๊ณ ๋ถ์์ ์ธ ํ์ ํ๋ก์ ํธ๋ ์์๋ค๋ ์ ์ ์ดํดํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์
์ ์คํ์ํํธ๋ก ์คํํด ๋ฌ๋ผ๋ ์์ฒญ์ด ๋ค์ด์๊ณ ์ด๋ก ์ธํด ์ผ์ฃผ์ผ ์ด์ ์ฐ๊ตฌ๊ฐ ์งํ๋์์ต๋๋ค.
Day #170: Openshift๋ ์ ํฉํ์ง ์์ต๋๋ค. Windows Azure ํฉ์ ์ฌ์ฉํด ๋ณผ๊น์?
Hyper-V๋ ๊ทธ๋ค์ง ์น์ํ์ง ์์ผ๋ฉฐ SCVMM์ ๊ทธ๋ค์ง ๋์์ง์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ SCVMM์ ์ถ๊ฐ ๊ธฐ๋ฅ์ด๋ฉฐ Azure๋ฅผ ๋ชจ๋ฐฉํ๋ Windows Azure ํฉ๊ณผ ๊ฐ์ ๊ฒ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก๋ ์ ํ์ด ๋ฒ๋ ค์ง ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ๋ฌธ์์ ๋งํฌ๊ฐ ๋์ด์ง๊ณ ๋งค์ฐ ๋๋ฌผ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฌ๋ ํด๋ผ์ฐ๋ ์๋ช ์ ๋จ์ํํ๊ธฐ ์ํ ์ต์ ์ ๋ํ ์ฐ๊ตฌ์ ์ผํ์ผ๋ก ํด๋ผ์ฐ๋๋ ๊ณ ๋ คํ์ต๋๋ค.
250์ผ์ฐจ: Windows Azure ํฉ์ด ๋ณ๋ก ์ข์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ SCVMM์ ๋จ์ ์์ต๋๋ค
Windows Azure ํฉ์ ์ ๋งํด ๋ณด์์ง๋ง ๋ถํ์ํ ๊ธฐ๋ฅ์ ์ํด ๋ณต์กํ WAP๋ฅผ ์์คํ ์ ๋์ ํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ SCVMM์ ์ ์งํ์ต๋๋ค.
Day #360: ์ฝ๋ผ๋ฆฌ๋ฅผ ํ ์กฐ๊ฐ์ฉ ๋จน์ด์น์ด๋ค
๋ถ๊ณผ XNUMX๋ ๋ง์ ์ด์ ์ ์ํ ํ๋ซํผ์ด ์ค๋น๋์๊ณ ์ด์ ๊ณผ์ ์ด ์์๋์์ต๋๋ค. ์ด๋ฅผ ์ํด SMART ์์ ์ด ์ค์ ๋์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋ VM์ ํ์ธํ๊ณ ๊ตฌ์ฑ์ ํ๋์ฉ ํ์ ํ๊ณ ์ด๋ฅผ Ansible์์ ์ค๋ช ํ๊ณ ํ ์คํธ๋ก ๋ค๋ฃจ๊ธฐ ์์ํ์ต๋๋ค.
Day #450: ์ด๋ค ์ข ๋ฅ์ ์์คํ ์ ์ป์๋์?
๊ณผ์ ์์ฒด๋ ํฅ๋ฏธ๋กญ์ง ์์ต๋๋ค. ์ด๋ ์ผ์์ ์ธ ์ผ์ด๋ฉฐ ๋๋ถ๋ถ์ ๊ตฌ์ฑ์ ์๋์ ์ผ๋ก ๋จ์ํ๊ฑฐ๋ ๋ํ์ด์์ผ๋ฉฐ ํ๋ ํ ์์น์ ๋ฐ๋ฅด๋ฉด VM ๊ตฌ์ฑ์ 80%์๋ 20%์ ์๊ฐ์ด ํ์ํ์ต๋๋ค. ๋์ผํ ์์น์ ๋ฐ๋ผ ์ด๋ ์ค๋น์ 80%์ ์๊ฐ์ด ์์๋๊ณ ์ด๋ ์์ฒด์ ์์๋๋ ์๊ฐ์ 20%์ ๋ถ๊ณผํฉ๋๋ค.
540์ผ์ฐจ: ์ต์ข
18๊ฐ์ ๋์ ๋ฌด์จ ์ผ์ด ์์๋ ๊ฑธ๊น์?
- ๊ณ์ฝ์ ์ฝ๋๊ฐ ๋์์ต๋๋ค.
- ์ ์์ -> ๊ธฐ๊ณํ -> ์คํ ๋ฉ์ด์ .
๋งํฌ
์๋ฌธํ ๊ฐ์ธ ๋ธ๋ก๊ทธ์ ๊ต์ฐจ ๊ฒ์๋ฌผ ์ฌ๋ผ์ด๋ Ansible ํ ์คํธ๋ฅผ ์์ํ๊ณ XNUMX๋ ์์ ํ๋ก์ ํธ๋ฅผ ๋ฆฌํฉํ ๋งํ๋ฉฐ ๋นํฉํ์ง ์๋ ๋ฐฉ๋ฒ 200์ค์ด ๋๋ ์ธํ๋ผ ์ฝ๋ ํ ์คํธ๋ฅผ ํตํด ์ป์ ๊ตํ ์คํ์ํํธ์ ๋ฐฐํฌํ์ ์์ฒด OS ๋ฐฐํฌํ์ ํ ์คํธํ๋ ๋ฐฉ๋ฒ ๊ฐ๋ฅํ๋ค๋ฉด ๋๋ฅผ ์ํํด ๋ณด์ธ์. YML ๊ฐ๋ฐ์๋ Ansible ํ ์คํธ๋ฅผ ๊ฟ๊พธ๋์?
์ถ์ฒ : habr.com