IT ์ธํ๋ผ๊ฐ ๋๋ฌด ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๋ฉด ์กฐ๋ง๊ฐ ์ด๋ฅผ ์ง์ํ ์ธ์ ์์์ ์ ํ์ ์ผ๋ก ๋๋ฆฌ๊ฑฐ๋ ์๋ํ๋ฅผ ์์ํ๋ ์ ํ์ ์ง๋ฉดํ๊ฒ ๋ ๊ฒ์ ๋๋ค. ์ด๋ ์์ ๊น์ง ์ฐ๋ฆฌ๋ ์ฒซ ๋ฒ์งธ ํจ๋ฌ๋ค์์ ์ด์๊ณ , ์ดํ ์ธํ๋ผํ ์ฝ๋(Infrastructure-as-Code)๋ฅผ ํฅํ ๊ธด ์ฌ์ ์ด ์์๋์์ต๋๋ค.
๋ฌผ๋ก NSPK๋ ์คํํธ์
์ ์๋์ง๋ง ์ฐฝ๋ฆฝ ์ฒซํด์๋ ๊ทธ๋ฌํ ๋ถ์๊ธฐ๊ฐ ํ์ฌ๋ฅผ ์ง๋ฐฐํ๊ณ ๋งค์ฐ ํฅ๋ฏธ๋ก์ด ํด์์ต๋๋ค. ๋ด ์ด๋ฆ์
์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ ํ์ ํ์ฌ์ 2๊ฐ์ ์ ํ์ ๊ณต๊ธํ๋ค๊ณ ๋งํ ์ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ ์ธํ๋ผ์ ๋๋ค. ๋ฉ์ผ์ด ์๋ํด์ผ ํ๊ณ , DNS๋ ์๋ํด์ผ ํ๋ฉฐ, ๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ๋ฅผ ํตํด ์ถฉ๋์ด ๋ฐ์ํ์ง ์์์ผ ํ๋ ์๋ฒ์ ๋ค์ด๊ฐ ์ ์์ด์ผ ํฉ๋๋ค. ํ์ฌ์ IT ํ๊ฒฝ์ ์์ฒญ๋ฉ๋๋ค! ์ด๋ ๋น์ฆ๋์ค ๋ฐ ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ ์์คํ ์ด๋ฉฐ ์ผ๋ถ ๊ฐ์ฉ์ฑ ์๊ตฌ ์ฌํญ์ 99,999์ ๋๋ค. ๋ ๋ฒ์งธ ์ ํ์ ๋ฌผ๋ฆฌ์ ๋ฐ ๊ฐ์ ์๋ฒ ์์ฒด์ ๋๋ค. ๊ธฐ์กด ์ ํ์ ๋ชจ๋ํฐ๋งํด์ผ ํ๊ณ , ์๋ก์ด ์ ํ์ ์ฌ๋ฌ ๋ถ์์ ๊ณ ๊ฐ์๊ฒ ์ ๊ธฐ์ ์ผ๋ก ์ ๋ฌ๋์ด์ผ ํฉ๋๋ค. ์ด ๊ธฐ์ฌ์์๋ ์๋ฒ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๋ด๋นํ๋ ์ธํ๋ผ๋ฅผ ์ด๋ป๊ฒ ๊ฐ๋ฐํ๋์ง์ ์ด์ ์ ๋ง์ถ๊ณ ์ถ์ต๋๋ค.
์ฌํ์ ์์
์ฌ์ ์ด๊ธฐ์ ์ฐ๋ฆฌ์ ๊ธฐ์ ์คํ์ ๋ค์๊ณผ ๊ฐ์์ต๋๋ค.
OS ์ผํธOS 7
FreeIPA ๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ
์๋ํ - Ansible(+Tower), Cobbler
์ด ๋ชจ๋ ๊ฒ์ ์ฌ๋ฌ ๋ฐ์ดํฐ ์ผํฐ์ ๋ถ์ฐ๋ 3๊ฐ์ ๋๋ฉ์ธ์ ์์นํ์ต๋๋ค. ํ ๋ฐ์ดํฐ ์ผํฐ์๋ ์ฌ๋ฌด์ค ์์คํ ๊ณผ ํ ์คํธ ์ฌ์ดํธ๊ฐ ์๊ณ ๋๋จธ์ง์๋ PROD๊ฐ ์์ต๋๋ค.
ํ ์ง์ ์์ ์๋ฒ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
VM ํ ํ๋ฆฟ์์ CentOS๋ ์ต์์ด๊ณ ํ์ํ ์ต์๊ฐ์ ์ฌ๋ฐ๋ฅธ /etc/resolv.conf์ ๊ฐ์ผ๋ฉฐ ๋๋จธ์ง๋ Ansible์ ํตํด ์ ๊ณต๋ฉ๋๋ค.
CMDB - ์์ .
์๋ฒ๊ฐ ๋ฌผ๋ฆฌ์ ์ธ ๊ฒฝ์ฐ ๊ฐ์ ๋จธ์ ์ ๋ณต์ฌํ๋ ๋์ Cobbler๋ฅผ ์ฌ์ฉํ์ฌ OS๋ฅผ ์ค์นํ์ต๋๋ค. ๋์ ์๋ฒ์ MAC ์ฃผ์๊ฐ Cobbler ๊ตฌ์ฑ์ ์ถ๊ฐ๋๊ณ ์๋ฒ๋ DHCP๋ฅผ ํตํด IP ์ฃผ์๋ฅผ ๋ฐ์ ๋ค์ OS๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
์ฒ์์๋ Cobbler์์ ์ผ์ข ์ ๊ตฌ์ฑ ๊ด๋ฆฌ๋ฅผ ์๋ํ๊ธฐ๋ ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์๊ฐ์ด ์ง๋๋ฉด์ ์ด๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ผํฐ์ VM ์ค๋น๋ฅผ ์ํ Ansible ์ฝ๋ ๋ชจ๋์ ๋ํ ๊ตฌ์ฑ ์ด์์ฑ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๊ธฐ ์์ํ์ต๋๋ค.
๊ทธ ๋น์ ์ฐ๋ฆฌ ์ค ๋ง์ ์ฌ๋๋ค์ Ansible์ Bash์ ํธ๋ฆฌํ ํ์ฅ์ผ๋ก ์ธ์ํ์ผ๋ฉฐ Shell๊ณผ sed๋ฅผ ์ฌ์ฉํ ์ค๊ณ๋ฅผ ๊ฐ๊ณผํ์ง ์์์ต๋๋ค. ์ ๋ฐ์ ์ผ๋ก Bashsible. ์ด๋ ๊ถ๊ทน์ ์ผ๋ก ์ด๋ค ์ด์ ๋ก ํ๋ ์ด๋ถ์ด ์๋ฒ์์ ์๋ํ์ง ์๋ ๊ฒฝ์ฐ ์๋ฒ๋ฅผ ์ญ์ ํ๊ณ ํ๋ ์ด๋ถ์ ์์ ํ ํ ๋ค์ ์คํํ๋ ๊ฒ์ด ๋ ์ฝ๋ค๋ ์ฌ์ค๋ก ์ด์ด์ก์ต๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์คํฌ๋ฆฝํธ ๋ฒ์ ๊ด๋ฆฌ๋ ๊ตฌ์ฑ ์ด์์ฑ์ด ์์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋ชจ๋ ์๋ฒ์ ์ผ๋ถ ๊ตฌ์ฑ์ ๋ณ๊ฒฝํ๊ณ ์ถ์์ต๋๋ค.
- ๋ ผ๋ฆฌ ์ธ๊ทธ๋จผํธ/๋ฐ์ดํฐ ์ผํฐ์ ๊ธฐ์กด ์๋ฒ ๊ตฌ์ฑ์ ๋ณ๊ฒฝํฉ๋๋ค. ๋๋ก๋ ํ๋ฃจ ๋ง์ ์ ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ ๊ทผ์ฑ ์๊ตฌ ์ฌํญ๊ณผ ๋์์ ๋ฒ์น์ผ๋ก ์ธํด ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ํ ๋ฒ์ ์ ์ฉํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฌ์ ์ผ๋ก ํ๊ดด์ ์ด๋ฉฐ ์๋น์ค์์ OS ์์ฒด์ ์ด๋ฅด๊ธฐ๊น์ง ๋ฌด์ธ๊ฐ๋ฅผ ๋ค์ ์์ํด์ผ ํฉ๋๋ค.
- Ansible์์ ์์
- Cobbler์์ ํด๊ฒฐํด ๋๋ฆฝ๋๋ค.
- ๊ฐ ๋ ผ๋ฆฌ์ ์ธ๊ทธ๋จผํธ/๋ฐ์ดํฐ ์ผํฐ์ ๋ํด N๋ฒ ๋ฐ๋ณตํฉ๋๋ค.
๋ชจ๋ ๋ณํ๊ฐ ์ํํ๊ฒ ์งํ๋๊ธฐ ์ํด์๋ ๋ง์ ์์๋ค์ ๊ณ ๋ คํด์ผ ํ๊ณ , ๋ณํ๋ ๋์์์ด ๋ฐ์ํ์ต๋๋ค.
- Ansible ์ฝ๋, ๊ตฌ์ฑ ํ์ผ ๋ฆฌํฉํ ๋ง
- ๋ด๋ถ ๋ชจ๋ฒ ์ฌ๋ก ๋ณ๊ฒฝ
- ์ฌ๊ฑด/์ฌ๊ณ ๋ถ์ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅธ ๋ณ๊ฒฝ
- ๋ด๋ถ ๋ฐ ์ธ๋ถ ๋ชจ๋์์ ๋ณด์ ํ์ค์ ๋ณ๊ฒฝํฉ๋๋ค. ์๋ฅผ ๋ค์ด PCI DSS๋ ๋งค๋ ์๋ก์ด ์๊ตฌ ์ฌํญ์ผ๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
์ธํ๋ผ ์ฑ์ฅ๊ณผ ์ฌ์ ์ ์์
์๋ฒ/๋ ผ๋ฆฌ ๋๋ฉ์ธ/๋ฐ์ดํฐ ์ผํฐ์ ์๊ฐ ์ฆ๊ฐํ๊ณ ๊ทธ์ ๋ฐ๋ผ ๊ตฌ์ฑ ์ค๋ฅ๋ ๋์ด๋ฌ์ต๋๋ค. ์ด๋ ์์ ์์ ์ฐ๋ฆฌ๋ ๊ตฌ์ฑ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋ฐํด์ผ ํ๋ ์ธ ๊ฐ์ง ๋ฐฉํฅ์ ์ด๋ฅด๋ ์ต๋๋ค.
- ์คํ ๋ฉ์ด์ . ๋ฐ๋ณต์ ์ธ ์์ ์์๋ ์ธ์ ์ค๋ฅ๋ฅผ ์ต๋ํ ๋ฐฉ์งํด์ผ ํฉ๋๋ค.
- ๋ฐ๋ณต์ฑ. ์์ธก์ด ๊ฐ๋ฅํ๋ฉด ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ด ํจ์ฌ ์ฝ์ต๋๋ค. ์ค๋น๋ฅผ ์ํ ์๋ฒ ๋ฐ ๋๊ตฌ ๊ตฌ์ฑ์ ๋ชจ๋ ๊ณณ์์ ๋์ผํด์ผ ํฉ๋๋ค. ์ด๋ ์ ํ ํ์๊ฒ๋ ์ค์ํฉ๋๋ค. ํ ์คํธ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธ ํ๊ฒฝ๊ณผ ์ ์ฌํ๊ฒ ๊ตฌ์ฑ๋ ํ๋ก๋์ ํ๊ฒฝ์์ ๋๋๋๋ก ๋ณด์ฅ๋์ด์ผ ํฉ๋๋ค.
- ๊ตฌ์ฑ ๊ด๋ฆฌ ๋ณ๊ฒฝ์ ๋จ์์ฑ๊ณผ ํฌ๋ช ์ฑ.
๋ช ๊ฐ์ง ๋๊ตฌ๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ํนํ ๋ด์ฅ๋ CI/CD ๋ชจ๋์ ์ํด GitLab CE๋ฅผ ์ฝ๋ ์ ์ฅ์๋ก ์ ํํ์ต๋๋ค.
๋น๋ฐ ๊ธ๊ณ - Hashicorp Vault, incl. ํ๋ฅญํ API๋ฅผ ์ํด.
๊ตฌ์ฑ ๋ฐ Ansible ์ญํ ํ ์คํธ โ Molecule+Testinfra. ansible mitogen์ ์ฐ๊ฒฐํ๋ฉด ํ ์คํธ๊ฐ ํจ์ฌ ๋น ๋ฅด๊ฒ ์งํ๋ฉ๋๋ค. ๋์์ ์ฐ๋ฆฌ๋ ์๋ ๋ฐฐํฌ๋ฅผ ์ํ ์์ฒด CMDB์ ์ค์ผ์คํธ๋ ์ดํฐ๋ฅผ ์์ฑํ๊ธฐ ์์ํ์ต๋๋ค(Cobbler ์ ๊ทธ๋ฆผ ์ฐธ์กฐ). ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์์ ํ ๋ค๋ฅธ ์ด์ผ๊ธฐ์ด๋ฉฐ, ๋ด ๋๋ฃ์ด์ ์ด๋ฌํ ์์คํ ์ ์ฃผ์ ๊ฐ๋ฐ์๊ฐ ์์ผ๋ก ๋งํ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ์ ์ ํ:
๋ถ์ + ํ
์คํธ์ธํ๋ผ
์ค์๋ธ + ํ์ + AWX
World of Servers + DITNET (์์ฒด ๊ฐ๋ฐ)
๊ตฌ๋ ์์ ๊ณต
Gitlab + GitLab ๋ฌ๋
ํ์์ฝํ ๊ธ๊ณ
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , Ansible ์ญํ ์ ๋ํด. ์ฒ์์๋ ํ๋๋ง ์์์ง๋ง ์ฌ๋ฌ ๋ฒ์ ๋ฆฌํฉํ ๋ง์ ๊ฑฐ์ณ 17๊ฐ๊ฐ ๋์์ต๋๋ค. ๋ชจ๋๋ฆฌ์ค๋ฅผ ๋ฉฑ๋ฑ์ฑ ์ญํ ๋ก ๋ถ๋ฆฌํ ๋ค์ ๋ณ๋๋ก ์์ํ ์ ์๊ณ ์ถ๊ฐ๋ก ํ๊ทธ๋ฅผ ์ถ๊ฐํ ์ ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋คํธ์ํฌ, ๋ก๊น , ํจํค์ง, ํ๋์จ์ด, ๋ถ์ ๋ฑ ๊ธฐ๋ฅ๋ณ๋ก ์ญํ ์ ๋๋์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๋ ์๋ ์ ๋ต์ ๋ฐ๋์ต๋๋ค. ๋๋ ์ด๊ฒ์ด ์ ์ผํ ์ง์ค์ด๋ผ๊ณ ์ฃผ์ฅํ์ง๋ ์์ง๋ง ๊ทธ๊ฒ์ ์ฐ๋ฆฌ์๊ฒ ํจ๊ณผ๊ฐ ์์์ต๋๋ค.
- "๊ณจ๋ ์ด๋ฏธ์ง"์์ ์๋ฒ๋ฅผ ๋ณต์ฌํ๋ ๊ฒ์ ์ฌ์ ํฉ๋๋ค!๊ฐ์ฅ ํฐ ๋จ์ ์ ํ์ฌ ์ด๋ฏธ์ง๊ฐ ์ด๋ค ์ํ์ธ์ง ์ ํํ ์ ์ ์์ผ๋ฉฐ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ชจ๋ ๊ฐ์ํ ํ์ ๋ชจ๋ ์ด๋ฏธ์ง์ ์ ์ฉ๋๋ค๋ ์ ์ ๋๋ค.
- ๊ธฐ๋ณธ ๊ตฌ์ฑ ํ์ผ์ ์ต์ํ์ผ๋ก ์ฌ์ฉํ๊ณ ๊ธฐ๋ณธ ์์คํ
ํ์ผ์ ๋ด๋นํ๋ ๋ค๋ฅธ ๋ถ์์ ๋์ํฉ๋๋ค.์ :
- /etc/sysctl.conf๋ฅผ ๋น์๋๊ณ ์ค์ ์ /etc/sysctl.d/์๋ง ์์ด์ผ ํฉ๋๋ค. ํ ํ์ผ์ ๊ธฐ๋ณธ๊ฐ์ ๋ค๋ฅธ ํ์ผ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ฌ์ฉ์ ์ ์์ ๋๋ค.
- ๋์ฒด ํ์ผ์ ์ฌ์ฉํ์ฌ ์์คํ ๋จ์๋ฅผ ํธ์งํ์ญ์์ค.
- ๋ชจ๋ ๊ตฌ์ฑ์ ํ ํ๋ฆฟํํ๊ณ ์์ ํ ํฌํจํฉ๋๋ค. ๊ฐ๋ฅํ๋ฉด ํ๋ ์ด๋ถ์ sed๋ ๊ทธ ์ ์ฌ ํญ๋ชฉ์ด ์์ต๋๋ค.
- ๊ตฌ์ฑ ๊ด๋ฆฌ ์์คํ
์ฝ๋ ๋ฆฌํฉํฐ๋ง:
- ์์ ์ ๋ ผ๋ฆฌ์ ์ํฐํฐ๋ก ๋๋๊ณ ๋ชจ๋๋ฆฌ์ค๋ฅผ ์ญํ ๋ก ๋ค์ ์์ฑํฉ๋๋ค.
- ๋ฆฐํฐ๋ฅผ ์ฌ์ฉํ์ธ์! Ansible-lint, yaml-lint ๋ฑ
- ์ ๊ทผ ๋ฐฉ์์ ๋ฐ๊ฟ๋ณด์ธ์! ๋ฐฐ์ํ ์ ์์ต๋๋ค. ์์คํ ์ ์ํ๋ฅผ ๊ธฐ์ ํ๋ ๊ฒ์ด ํ์ํ๋ค
- ๋ชจ๋ Ansible ์ญํ ์ ๋ํด ๋ถ์ ๋จ์๋ก ํ ์คํธ๋ฅผ ์์ฑํ๊ณ ํ๋ฃจ์ ํ ๋ฒ ๋ณด๊ณ ์๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
- ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ํ ์คํธ(100๊ฐ ์ด์)๋ฅผ ์ค๋นํ ํ ์ฝ 70000๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ๊ฒฌ๋์์ต๋๋ค. ๊ทธ๊ฒ์ ๊ณ ์น๋ ๋ฐ ๋ช ๋ฌ์ด ๊ฑธ๋ ธ์ต๋๋ค.
์ฐ๋ฆฌ์ ๊ตฌํ
๋ฐ๋ผ์ Ansible ์ญํ ์ด ์ค๋น๋๊ณ ํ ํ๋ฆฟํ๋์์ผ๋ฉฐ Linter์ ์ํด ํ์ธ๋์์ต๋๋ค. ์ฌ์ง์ด gits๋ ์ด๋์์๋ ์๋๋๋ค. ๊ทธ๋ฌ๋ ๋ค์ํ ๋ถ๋ฌธ์ ๋ํ ์์ ์ ์ธ ์ฝ๋ ์ ๋ฌ ๋ฌธ์ ๋ ์์ง ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์คํฌ๋ฆฝํธ์ ๋๊ธฐํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋๋ฉด CI๊ฐ ์์๋๊ณ , ํ ์คํธ ์๋ฒ๊ฐ ์์ฑ๋๊ณ , ์ญํ ์ด ๋กค์์๋๊ณ , ๋ถ์์ ์ํด ํ ์คํธ๋ฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ ์์ด๋ฉด ์ฝ๋๋ prod ๋ถ๊ธฐ๋ก ์ด๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๊ธฐ๊ณ์ ๊ธฐ์กด ์๋ฒ์ ์๋ก์ด ์ฝ๋๋ฅผ ์ ์ฉํ์ง ์์ต๋๋ค. ์ด๋ ์ฐ๋ฆฌ ์์คํ ์ ๊ณ ๊ฐ์ฉ์ฑ์ ์ํด ํ์ํ ์ผ์ข ์ ์คํ ํผ์ ๋๋ค. ์ธํ๋ผ๊ฐ ๊ฑฐ๋ํด์ง๋ฉด ๋์์ ๋ฒ์น์ด ์ ์ฉ๋ฉ๋๋ค. ๋ณ๊ฒฝ์ด ๋ฌดํดํ๋ค๊ณ ํ์ ํ๋๋ผ๋ ์ฌ๊ฐํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค.
์๋ฒ ์์ฑ์ ์ํ ๋ค์ํ ์ต์ ๋ ์์ต๋๋ค. ๊ฒฐ๊ตญ ์ฐ๋ฆฌ๋ ์ฌ์ฉ์ ์ ์ Python ์คํฌ๋ฆฝํธ๋ฅผ ์ ํํ์ต๋๋ค. CI ansible์ ๊ฒฝ์ฐ:
- name: create1.yml - Create a VM from a template
vmware_guest:
hostname: "{{datacenter}}".domain.ru
username: "{{ username_vc }}"
password: "{{ password_vc }}"
validate_certs: no
cluster: "{{cluster}}"
datacenter: "{{datacenter}}"
name: "{{ name }}"
state: poweredon
folder: "/{{folder}}"
template: "{{template}}"
customization:
hostname: "{{ name }}"
domain: domain.ru
dns_servers:
- "{{ ipa1_dns }}"
- "{{ ipa2_dns }}"
networks:
- name: "{{ network }}"
type: static
ip: "{{ip}}"
netmask: "{{netmask}}"
gateway: "{{gateway}}"
wake_on_lan: True
start_connected: True
allow_guest_control: True
wait_for_ip_address: yes
disk:
- size_gb: 1
type: thin
datastore: "{{datastore}}"
- size_gb: 20
type: thin
datastore: "{{datastore}}"
์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์จ ๊ฒ์ด๋ฉฐ ์์คํ ์ ๊ณ์ํด์ ์ด์ ์๊ณ ๋ฐ์ ํ๊ณ ์์ต๋๋ค.
- ์๋ฒ ์ค์ ์ ์ํ 17๊ฐ์ Ansible ์ญํ . ๊ฐ ์ญํ ์ ๋ณ๋์ ๋ ผ๋ฆฌ์ ์์ (๋ก๊น , ๊ฐ์ฌ, ์ฌ์ฉ์ ๊ถํ ๋ถ์ฌ, ๋ชจ๋ํฐ๋ง ๋ฑ)์ ํด๊ฒฐํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
- ์ญํ ํ ์คํธ. ๋ถ์ + ํ ์คํธ์ธํ๋ผ.
- ์์ฒด ๊ฐ๋ฐ: CMDB + Orchestrator.
- ์๋ฒ ์์ฑ ์๊ฐ์ ์ต๋ 30๋ถ์ด๋ฉฐ ์๋ํ๋์ด ์์ผ๋ฉฐ ์์ ๋๊ธฐ์ด๊ณผ ์ค์ง์ ์ผ๋ก ๋ ๋ฆฝ์ ์ ๋๋ค.
- ํ๋ ์ด๋ถ, ๋ฆฌํฌ์งํ ๋ฆฌ, ๊ฐ์ํ ์์ ๋ฑ ๋ชจ๋ ์ธ๊ทธ๋จผํธ์ ์ธํ๋ผ ์ํ/์ด๋ฆ์ด ๋์ผํฉ๋๋ค.
- ํ์ค๊ณผ์ ๋ถ์ผ์น์ ๋ํ ๋ณด๊ณ ์ ์์ฑ์ ํตํด ์๋ฒ ์ํ๋ฅผ ๋งค์ผ ํ์ธํฉ๋๋ค.
์ ์ด์ผ๊ธฐ๊ฐ ์ฌํ์ ์์ํ๋ ๋ถ๋ค์๊ฒ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด๋ค ์๋ํ ์คํ์ ์ฌ์ฉํ์๋์?
์ถ์ฒ : habr.com