์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ๊ณต๊ธ์์์ ์คํํ ์ ์๋ salt-cloud ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
salt-cloud - ์ํธ ํด๋ผ์ฐ๋ ๋ช ๋ น
Salt๋ก ํด๋ผ์ฐ๋์์ ๊ฐ์ ๋จธ์ ํ๋ก๋น์ ๋
๊ฐ์
์๊ธ ๊ตฌ๋ฆ -m /etc/salt/cloud.map
์๊ธ ๊ตฌ๋ฆ -m /etc/salt/cloud.map ์ด๋ฆ
์๊ธ ๊ตฌ๋ฆ -m /etc/salt/cloud.map ์ด๋ฆ1 ์ด๋ฆ2
์๊ธ ๊ตฌ๋ฆ -p ํ๋กํ ์ด๋ฆ
์๊ธ๊ตฌ๋ฆ -p ํ๋กํ ์ด๋ฆ1 ์ด๋ฆ2 ์ด๋ฆ3 ์ด๋ฆ4 ์ด๋ฆ5 ์ด๋ฆ6
๊ธฐ์
Salt Cloud๋ ๋ค์ํ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋์ ๊ฐ์ ๋จธ์ ์ ํ๋ก๋น์ ๋ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์คํ ์ ๋๋ค.
๊น๋ํ๊ฒ ์ ์ด๋๋ ํ๋กํ ๋ฐ ๋งคํ ์์คํ .
์ต์
--๋ฒ์ญ
์คํ ์ค์ธ Salt ๋ฒ์ ์ ์ธ์ํฉ๋๋ค.
--๋ฒ์ ๋ณด๊ณ ์
ํ๋ก๊ทธ๋จ์ ์ข ์์ฑ ๋ฐ ๋ฒ์ ๋ฒํธ๋ฅผ ํ์ํ ๋ค์ ์ข ๋ฃ
-์๊ฐ, --๋์
๋์๋ง ๋ฉ์์ง๋ฅผ ํ์ํ๊ณ ์ข ๋ฃ
-c CONFIG_DIR, --config-dir=CONFIG_dir
Salt ๊ตฌ์ฑ ๋๋ ํ ๋ฆฌ์ ์์น์ ๋๋ค. ์ด ๋๋ ํ ๋ฆฌ์๋
Salt ๋ง์คํฐ ๋ฐ ๋ฏธ๋์ธ์ ๋ํ ๊ตฌ์ฑ ํ์ผ. ๋๋ถ๋ถ์ ๊ธฐ๋ณธ ์์น
์์คํ ์ /๊ธฐํ/์๊ธ.
์คํ ์ต์
-L ์์น, --์์น=LOCATION
์ฐ๊ฒฐํ ์ง์ญ์ ์ง์ ํฉ๋๋ค.
-a ํ๋, --์ก์ =์ก์
์ด ํด๋ผ์ฐ๋ ๊ณต๊ธ์์ ๊ด๋ จ๋ ์์ ์ ์ํํฉ๋๋ค. ์ด ์ฃผ์ฅ
ํ๋ ์ด์์ ์ธ์คํด์ค ์ด๋ฆ์ ์ง์ ํด์ผ ํฉ๋๋ค.
-f , --๊ธฐ๋ฅ=
์ด ํด๋ผ์ฐ๋ ์ ๊ณต์์๊ฒ ๊ณ ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค.
์ธ์คํด์ค์ ์ ์ฉํฉ๋๋ค. ์ด ์ธ์์๋ ๊ณต๊ธ์๋ฅผ ์ง์ ํด์ผ ํฉ๋๋ค(์:
์ ์ฑ).
-p ํ๋กํ, --ํ๋กํ=ํ๋กํ
๋ช ๋ช ๋ ํด๋ผ์ฐ๋ VM์ ๋น๋ํ ๋จ์ผ ํ๋กํ์ ์ ํํฉ๋๋ค. ํ๋กํ์
์ง์ ๋ ํ๋กํ ํ์ผ์ ์ ์๋์ด ์์ต๋๋ค.
-m ์ง๋, --๋งต=MAP
์ฌ์ฉํ ์ง๋ ํ์ผ์ ์ง์ ํฉ๋๋ค. ๋ค๋ฅธ ์ต์ ์์ด ์ฌ์ฉํ๋ฉด ์ด ์ต์ ์
๋งคํ๋ VM์ด ๋ชจ๋ ์์ฑ๋์๋์ง ํ์ธํฉ๋๋ค. ๋ช ๋ช ๋ VM์ด ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ
๊ฑด๋๋ธ ๊ฒ์ ๋๋ค.
-์๊ฐ, --๋จ๋จํ
๋งต ํ์ผ์ ์ง์ ํ ๋ ๊ธฐ๋ณธ ๋์์ ๋ชจ๋ VM์ด
๋งต ํ์ผ์ ์ง์ ๋ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค. --hard ์ต์ ์ด ์ค์ ๋ ๊ฒฝ์ฐ ๋ชจ๋ VM์
๋งต ํ์ผ์ ์ง์ ๋์ง ์์ ๊ตฌ์ฑ๋ ํด๋ผ์ฐ๋ ์ ๊ณต์์ ์กด์ฌํ๋
ํ๊ดด๋ฉ๋๋ค. ์ด๋ ํ๊ดด์ ์ธ ์์ ์ด ๋ ์ ์์ผ๋ฉฐ
์กฐ์ฌํด์ ์ฌ์ฉํ์ญ์์ค.
-NS, --ํ๊ดดํ๋ค
ํ๊ดดํ VM์ ์ด๋ฆ์ ์ ๋ฌํ๋ฉด salt-cloud๊ฐ ๊ตฌ์ฑ๋ ํด๋ผ์ฐ๋๋ฅผ ๊ฒ์ํฉ๋๋ค.
๊ณต๊ธ์๋ฅผ ์ง์ ํ๊ณ VM์ ์ ๊ฑฐํฉ๋๋ค. ์ด๊ฒ์
ํ๊ดด์ ์ธ ์์ ์ด๋ฉฐ ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ญ์ ํ VM์ ๋งต์ ์ง์ ํ๋ -m ์ต์ .
-NS, --ํํ ํ
์ผ๋ฐ์ ์ผ๋ก ๋ง์ ํด๋ผ์ฐ๋ VM์ ๊ตฌ์ถํ ๋ ์์ฐจ์ ์ผ๋ก ์คํ๋ฉ๋๋ค. -P ์ต์
๋๊ท๋ชจ VM ๊ทธ๋ฃน์ ํ์ฉํ๋ ๋ณ๋์ ํ๋ก์ธ์ค์์ ๊ฐ ํด๋ผ์ฐ๋ VM ๋น๋๋ฅผ ์คํํฉ๋๋ค.
ํ ๋ฒ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
์ผ๋ถ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด์ ์์คํ ์ ์ด์ ์ ํฉํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
vm ์์ฑ ์ ์ . ๋๊ท๋ชจ VM ๊ทธ๋ฃน์ ์์ฑํ ๋ ํด๋ผ์ฐ๋ ๊ณต๊ธ์๋ฅผ ์ฃผ์ํ์ญ์์ค.
๋ฉด๋ฐํ.
-์ , --์ ๋ฐ์ดํธ-๋ถํธ์คํธ๋ฉ
GitHub์์ salt-bootstrap์ ์ต์ ๊ฐ๋ฐ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํฉ๋๋ค.
-์์ด, --๊ฐ์ -์
๋ชจ๋ ํ์ธ ์ง๋ฌธ์ ๋ํ ๋๋ต์ ๊ธฐ๋ณธ์ ์ผ๋ก yes์ ๋๋ค.
-์ผ์ด, --keep-tmp
์์ ํ์ผ์ ์ ๊ฑฐํ์ง ๋ง์ญ์์ค / tmp / deploy.sh ์๋ฃ ํ.
--show-deploy-args
๋ฐํ๋ ๋ฐ์ดํฐ์ minion์ ๋ฐฐํฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ต์ ์ ํฌํจํฉ๋๋ค.
--script-args=SCRIPT_ARGS
VM์ ๋ฐฐํฌํ ๋ ๋ถํธ์คํธ๋ฉ ์คํฌ๋ฆฝํธ์ ์ ๊ณตํ ์คํฌ๋ฆฝํธ ์ธ์์ ๋๋ค.
์ง๋ฌธ ์ต์
-NS, --์ง๋ฌธ
์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ๊ตฌ์ฑ๋ ๋ ธ๋์์ ์คํ ์ค์ธ ๋ ธ๋์ ๋ํ ์ผ๋ถ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค.
ํด๋ผ์ฐ๋ ๊ณต๊ธ์
-NS, --์ ์ฒด ์ฟผ๋ฆฌ
์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ๋ชจ๋ ํด๋ผ์ฐ๋ VM์ ๋ํด ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ํ ์ ์๋ค
์ง์ ๋ ๋งต์ ๋ํ ์ ๋ณด๋ง ํ์ํ๋ ค๋ฉด -m๊ณผ ํจ๊ป ์ฌ์ฉํ์ญ์์ค.
-NS, --์ ํ ์ฟผ๋ฆฌ
์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ๋ชจ๋ ํด๋ผ์ฐ๋ VM์ ๋ํด ์ ํํ ์ ๋ณด๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ๋ ์ ์์ต๋๋ค
์ง์ ๋ ๋งต์ ๋ํ ์ ๋ณด๋ง ํ์ํ๊ธฐ ์ํด -m๊ณผ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
--๋ชฉ๋ก ์ ๊ณต์
๊ตฌ์ฑ๋ ๊ณต๊ธ์ ๋ชฉ๋ก์ ํ์ํฉ๋๋ค.
--๋ชฉ๋ก ํ๋กํ
๋ฒ์ 2014.7.0์ ์๋ก์ด ๊ธฐ๋ฅ.
๊ตฌ์ฑ๋ ํ๋กํ ๋ชฉ๋ก์ ํ์ํฉ๋๋ค. ํด๋ผ์ฐ๋ ๊ณต๊ธ์๋ฅผ ์ ๋ฌํ์ฌ
์ ๊ณต์์ ๊ด๋ จ ํ๋กํ(์: ๋์งํธ_๋ฐ๋ค, ๋๋ ํต๊ณผ ๋ชจ๋ ๋ชจ๋ ๋์ดํ๋ค
๊ตฌ์ฑ๋ ํ๋กํ์ผ.
ํด๋ผ์ฐ๋ ๊ณต๊ธ ์ ์ฒด ๋ชฉ๋ก
--๋ชฉ๋ก-์์น=LIST_LOCATIONS
๊ตฌ์ฑ๋ ํด๋ผ์ฐ๋ ๊ณต๊ธ์์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ํ์ํฉ๋๋ค. ํด๋ผ์ฐ๋๋ฅผ ํต๊ณผ
์ฌ์ฉ ๊ฐ๋ฅํ ์์น๋ฅผ ์ํ๋ ์ ๊ณต์(์ผ๋ช "linode") ๋๋ "all"์
๊ตฌ์ฑ๋ ๋ชจ๋ ํด๋ผ์ฐ๋ ๊ณต๊ธ์์ ์์น ๋์ด
--๋ชฉ๋ก ์ด๋ฏธ์ง=LIST_IMAGES
๊ตฌ์ฑ๋ ํด๋ผ์ฐ๋ ๊ณต๊ธ์์์ ์ฌ์ฉํ ์ ์๋ ์ด๋ฏธ์ง ๋ชฉ๋ก์ ํ์ํฉ๋๋ค. ํด๋ผ์ฐ๋๋ฅผ ํต๊ณผ
์ฌ์ฉ ๊ฐ๋ฅํ ์ด๋ฏธ์ง๊ฐ ํ์ํ ์ ๊ณต์(์ผ๋ช "linode") ๋๋ "all"์ ๋ชฉ๋ก์ ์ ๋ฌ
๊ตฌ์ฑ๋ ๋ชจ๋ ํด๋ผ์ฐ๋ ์ ๊ณต์์ ๋ํ ์ด๋ฏธ์ง
--๋ชฉ๋ก ํฌ๊ธฐ=LIST_SIZES
๊ตฌ์ฑ๋ ํด๋ผ์ฐ๋ ๊ณต๊ธ์์์ ์ฌ์ฉ ๊ฐ๋ฅํ ํฌ๊ธฐ ๋ชฉ๋ก์ ํ์ํฉ๋๋ค. ํด๋ผ์ฐ๋๋ฅผ ํต๊ณผ
์ฌ์ฉ ๊ฐ๋ฅํ ํฌ๊ธฐ๊ฐ "AWS"์์ ์ํ๋ ์ ๊ณต์ ๋๋ "all"์ ๋ชฉ๋ก์ ์ ๋ฌ
๊ตฌ์ฑ๋ ๋ชจ๋ ํด๋ผ์ฐ๋ ๊ณต๊ธ์์ ํฌ๊ธฐ
ํด๋ผ์ฐ๋ ์ ์์ฅ
--์ํธ ์ค์ =
ํด๋ผ์ฐ๋ ๊ณต๊ธ์์ ์ํธ๋ฅผ ๊ตฌ์ฑํ๊ณ ํค๋ง์ ์ ์ฅํฉ๋๋ค. ๊ณต๊ธ์๋ ํ ์ ์์ต๋๋ค
๋๋ผ์ด๋ฒ๋ฅผ ํฌํจํ๊ฑฐ๋ ํฌํจํ์ง ์๊ณ ์ง์ ํด์ผ ํฉ๋๋ค(์: "--set-password bob rackspace").
๋๋ ๋ ๊ตฌ์ฒด์ ์ธ "--set-password bob rackspace:openstack" ์ง์ ์ค๋จ๋จ!
์ฐ์ถ ์ต์
--๋ฐ ๋ฐ์ดํฐ ๋ฐํ์ ํ์ํ๋ ค๋ฉด ๋์ฒด ์ถ๋ ฅ๊ธฐ๋ฅผ ์ ๋ฌํ์ญ์์ค. ์ด ์ถ๋ ฅ๊ธฐ๋
์ฌ์ฉ ๊ฐ๋ฅํ ์ถ๋ ฅ๊ธฐ ์ค ํ๋์ฌ์ผ ํฉ๋๋ค.
๊ณก์, ํ์ด์คํ ์ดํธ, JSON, ํค, ๊ณผ์ฅ๋, ์ธ์, ์ด๊ฐ์ด ๋ฒ์ด ์ง, TXT, ์
์ผ๋ถ ์ถ๋ ฅ๊ธฐ๋ ํน์ ํจ์์์ ๋ฐํ๋ ๋ฐ์ดํฐ์ ๋ํด์๋ง ํ์์ด ์ง์ ๋ฉ๋๋ค. ~์ ์ํ
์๋ฅผ ๋ค์ด, ๊ณก์ outputter๋ non-grains ๋ฐ์ดํฐ์ ๋ํด ์๋ํ์ง ์์ต๋๋ค.
์ ๋ฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ํ์ง ์๋ ์ถ๋ ฅ๊ธฐ๊ฐ ์ฌ์ฉ๋๋ฉด Salt
์ ๋ค์ ๋จ์ด์ง ๊ฒ์ด๋ค ์ธ์ Python์ ์ฌ์ฉํ์ฌ ์ถ๋ ฅ์ ๋ฐ ๋ฐํ ๋ฐ์ดํฐ ํ์
์ธ์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋.
์๋ฆผ:
์ฌ์ฉํ๋ ๊ฒฝ์ฐ --out=json, ๋น์ ์ ์๋ง ์ํ ๊ฒ์ ๋๋ค --๊ณต์ ๋ํ. ์์ด
์ ์ ์ต์ ์ ์ฌ์ฉํ๋ฉด JSON์ ๋ง๋๋ ๋ฏธ๋์ธ๋ง๋ค ๋ณ๋์ JSON ๋ฌธ์์ด์ ์ป์ ์ ์์ต๋๋ค.
์ ์ฒด์ ์ผ๋ก ์ ํจํ์ง ์์ ์ถ๋ ฅ. ์ด๋ ๋ฐ๋ณต ์ถ๋ ฅ๊ธฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋์ ๋ง์ฝ
JSON ํ์์ ๊ณต๊ธํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ญ์์ค. --๊ณต์ ๋ฟ๋ง ์๋๋ผ.
--๋ค์ฌ์ฐ๊ธฐ ์ถ๋ ฅ_INDENT, --์ถ๋ ฅ ๋ค์ฌ์ฐ๊ธฐ OUTPUT_INDENT
๊ณต๋ฐฑ์ ์ ๊ณต๋ ๊ฐ์ผ๋ก ๋ค์ฌ์ฐ๊ธฐ๋ ์ถ๋ ฅ์ ์ธ์ํฉ๋๋ค. ์์ ๊ฐ ๋นํ์ฑํ
๋ค์ฌ ์ฐ๊ธฐ. ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ์ง์ํ๋ ์ถ๋ ฅ๊ธฐ์๋ง ์ ์ฉ๋ฉ๋๋ค.
--์ถ๋ ฅ ํ์ผ=OUTPUT_FILE, --์ถ๋ ฅ ํ์ผ=OUTPUT_FILE
์ง์ ๋ ํ์ผ์ ์ถ๋ ฅ์ ์๋๋ค.
--๋ฌด์
๋ชจ๋ ์ปฌ๋ฌ ์ถ๋ ฅ ๋นํ์ฑํ
--๊ฐ์ ์์
์ปฌ๋ฌ ์ถ๋ ฅ ๊ฐ์
์๋ฆผ:
์์ ์ถ๋ ฅ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์์ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ น์ ์ฑ๊ณต์ ๋ํ๋ด๊ณ , ๋นจ๊ฐ ์คํจ๋ฅผ ๋ํ๋ด๊ณ , ํธ๋ฅธ ๋ณํ์ ์ฑ๊ณต์ ์๋ฏธํ๊ณ
๋ ธ๋ ์์๋๋ ํฅํ ๊ตฌ์ฑ ๋ณ๊ฒฝ์ ๋ํ๋ ๋๋ค.
์ฌ์ฉ ์
์ง์ ๋ ํ๋กํ์์ web4, web1, db2 ๋ฐ db1๋ผ๋ 2๊ฐ์ VM์ ์์ฑํ๋ ค๋ฉด:
์๊ธ ๊ตฌ๋ฆ -p fedora_rackspace web1 web2 db1 db2
๋งต ํ์ผ์ ์ฝ๊ณ ์ฌ๊ธฐ์ ์ง์ ๋ ๋ชจ๋ VM์ ์์ฑํ๋ ค๋ฉด:
์๊ธ ๊ตฌ๋ฆ -m /path/to/cloud.map
๋งต ํ์ผ์ ์ฝ๊ณ ์ฌ๊ธฐ์ ์ง์ ๋ ๋ชจ๋ VM์ ๋ณ๋ ฌ๋ก ์์ฑํ๋ ค๋ฉด:
์๊ธ๊ตฌ๋ฆ -m /path/to/cloud.map -P
๋งต ํ์ผ์ ์ง์ ๋ VM์ ์ญ์ ํ๋ ค๋ฉด:
์๊ธ๊ตฌ๋ฆ -m /path/to/cloud.map -d
๋งต ํ์ผ์ ์ง์ ๋์ง ์์ VM์ ์ญ์ ํ๋ ค๋ฉด:
์๊ธ๊ตฌ๋ฆ -m /path/to/cloud.map -H
๋งต ํ์ผ์ ์ง์ ๋ ๋ชจ๋ VM์ ์ํ๋ฅผ ํ์ํ๋ ค๋ฉด:
์๊ธ๊ตฌ๋ฆ -m /path/to/cloud.map -Q
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์์ salt-cloud ์ฌ์ฉ