๊ธฐ๋ฅ ์์ด๋์ด
์ญํ
ํด๋น ์์
์ ๋ ์ต์ ์ด ๋ง์ ๋ณต์กํ ์ํํธ์จ์ด๋ฅผ ๊ด๋ฆฌํ๋ ์ญํ ์ ๋งก๊ณ ์์ต๋๋ค. ํ์ฌ defaults/main.yml์ ๋ ๋ง์ ๋ณ์์ ํจ๊ป ์ ์ ๋ ์ปค์ง๊ณ ์์ต๋๋ค.
๊ธฐ๋ณธ ํด๋์์ ์๋ฏธ์ ์ผ๋ก ๊ด๋ จ๋ ๊ฐ ๋ณ์ ๊ทธ๋ฃน์ ๋ํด ๋ค์ํ YAML ํ์ผ์ ๊ฐ์ง ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
์ด ํด๋์ ๋ ๋ง์ ํ์ผ์ ์ถ๊ฐํ๋ ค๊ณ ์๋ํ์ง๋ง ํด๋น ์ ์๊ฐ ์์๋๋ก ์ ํ๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. main.yml๋ง ๋ก๋๋ฉ๋๋ค.
๋๋ ์ด๊ฒ์ด ์ข์ ๊ธฐ๋ฅ์ด ๋ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค.
main.yml
in tasks
, ๋ค๋ฅธ ํ์ผ์ ํฌํจํ๋ tasks
ํ์ ๋๋ ํ ๋ฆฌ์๋ ์๋ main.yml
๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.
- include: foo/main.yml
- include: bar/main.yml
๊ธฐ๋ณธ ์ญํ ๋ณ์์ include_vars
๋ชจ๋์ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ ๋ณ์๊ฐ ์ ์ด์ ์กด์ฌํ๋ ์ด์ , ์ฆ ์ญํ /ํ๋ ์ด๋ถ์ ๋ค๋ฅธ ๋ถ๋ถ์์ ์ฝ๊ฒ ๋ฎ์ด์ธ ์ ์๋ "์ตํ์ ์๋จ ๊ธฐ๋ณธ๊ฐ"์ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฒ์ ๋ฌดํจํํฉ๋๋ค.
defaults/
๋๋ ํ ๋ฆฌ์ ์ฌ๋ฌ ํ์ผ์ด ์๋ค๋ ์์ด๋์ด๋ ์ด์ ์ IRC์์ ๋
ผ์๋์์ผ๋ฉฐ inventory/group_vars/
๋ฐ inventory/host_vars/
๋๋ ํ ๋ฆฌ์ ์ ์ฌํ๊ฒ defaults/
๋๋ ํ ๋ฆฌ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๊ฒ์ด ๊ฐ์ ธ์ ์ข๋ค. ํ์ํ ์ฝ๋๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ฉฐ ์ญํ ๊ธฐ๋ณธ๊ฐ์ ์ฝ๊ฒ ์ ์ฉํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
+1
+1
์์ผ๋ฉด ์ข์ํ ๋ฐ!
+1
์, ์์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ defaults/*๊ฐ ์๋์ผ๋ก ๋ฐ๊ฒฌ๋๊ณ ๋ก๋๋๋ค๊ณ ๊ฐ์ ํ์ต๋๋ค. ์ ์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ(์์ ์ ์ถ๊ฐ ๊ธฐ๋ณธ ํ์ผ ํฌํจ)์ ๋ณ์ ์ฐ์ ์์ ๋ก ์ธํด ์ธ๋ฒคํ ๋ฆฌ ๋ณ์๋ฅผ ๋ฌด์ํ๋ฏ๋ก ํด๊ฒฐ๋ ๋๊น์ง ์ด ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด 1๊ฐ์ ํ์ผ๋ก ๋ฌถ์ด์ผ ํ ์๋ ์์ต๋๋ค.
Ansible 2.x ๋ณ์ ์ฐ์ ์์
role defaults [1] (loading all role defaults here critical)
inventory vars [2]
inventory group_vars
inventory host_vars
playbook group_vars
playbook host_vars
host facts
registered vars
set_facts
play vars
play vars_prompt
play vars_files
role and include vars (hack coming in here will override everything above)
block vars (only for tasks in block)
task vars (only for the task)
extra vars (always win precedence)
์ด๊ฒ์ #8121๊ณผ ๊ด๋ จ์ด ์์ ์ ์์ต๋๋ค.
+1
+1
๊ฐ๋ณ ์ฐ์ ์์ ์ ์ฝ์ผ๋ก ์ธํด ๋ฐ๋์ ๊ธฐ๋ฅ์ด ์์ด์ผ ํฉ๋๋ค.
์ด๊ฒ์ ๋ํ ๋ณ์ ํด๋์ค๋ณ๋ก ๊ธฐ๋ณธ ํ์ผ์ ์ ์ํ๊ณ ๊นจ๋ํ ๋ถ๋ฆฌ๋ฅผ ์ ์งํ๋๋ก ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋คํธ์ํน์์ IPv4์ฉ ๊ธฐ๋ณธ ํ์ผ ํ๋, IPv6์ฉ ํ๋, SNMP์ฉ ํ๋ ๋ฑ์ ์ ์ํ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ด ํ์ผ์ "๊ธฐ๋ณธ๊ฐ" ์๋์ ๋ค๋ฅธ ํด๋์ ๋ฃ์ ์ ์์ด์ผ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด๊ฑธ ์ง์ ์น๋ฉด ํ์คํ +1
์ด๊ฒ์ ์ ๋ง๋ก PITA์
๋๋ค.
์๋ฃจ์
์ ์ ์ํ ์ ์๋ค๋ฉด include_vars
์ ์ ์ฌํ์ง๋ง meta/main.yml
์ ๋ก๋ ์์๋ฅผ ์ง์ ํ๋ ์ต์
์ ์ถ๊ฐํ๋ ๊ฒ์
๋๋ค.
- dependencies: []
- default_vars:
- "main.yml"
- "{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml"
์ด๋ ๊ฒ ํ๋ฉด ์ต์
์ด ๊ธฐ๋ณธ์ ์ผ๋ก ["main.yml"]
๋๊ณ ๊ธฐ์กด ์ฝ๋๊ฐ ์์๋์ง ์๊ณ ๊ฐ๋ฐ์๊ฐ ์ ํํ ์ปจํ
์คํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ถํ๋ ๋ณ์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.
๊ธฐ์ด ํ. ๋๋ ์ด๊ฒ์ด ์ฆ์ ์๋ ํ ๊ฒ์ด๋ผ๊ณ ์์ ํ ์์ฌํ์ต๋๋ค. ๊ฐ๋ฅํ ๋ช ์๋๋ ๊ฒฝ์ฐ ์ค ํ๋๋ ์ค์ ๋ก ์ต์ํ์ ๋๋ผ์์ ์์น์ ์ฝ๊ฐ ์๋ฐํฉ๋๋ค ...
ํ์คํ +1
vars/
๋ํด ๋์ผํ์ง๋ง #2958์ด ์ด์ ๋ํด ๊ฒฐ์ ํ ๊ฒ ๊ฐ์ต๋๋ค.
@cornfeedhobo ์ ์๋ ๋ด ์ฌ์ฉ ์ฌ๋ก์ ์ ํํ ์ผ์นํฉ๋๋ค. include_vars๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ทน์ ์ํ ๊ฐ๋ณ ๋ณ์์ ์ฌ์ด ์ฌ์ ์๋ฅผ ๋ฐฉ์งํ๊ณ ์์ต๋๋ค.
๋ค๋ฅธ ์ธํฐํ์ด์ค ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ์๊ฒ๋ ๋จ์ผ ํ์ผ์ด ์๋ "๊ธฐ๋ณธ๊ฐ" ๋๋ ํ ๋ฆฌ๊ฐ ์๋ค๋ ๊ฒ์ด ์ ๋ง ์ด์ํ๊ณ ์ง๊ด์ ์ด์ง ์๊ฒ ๋ณด์
๋๋ค.
๋ด ๋ง์, ๋จ์ผ __main__.py
ํ์ผ์ด ์๋ ํ์ด์ฌ ๋ชจ๋์ ๋ณธ ์ ์ด ์์ต๋๊น?
์ด๊ฒ์ด ๋ฐ๋ก ์ด ํฐ์ผ์ ๋ํด ์ด์ผ๊ธฐํ ๊ธฐ๋ฅ์ด ์ด๋ฏธ ์กด์ฌํ๋ค๊ณ ์ง๊ด์ ์ผ๋ก ์๊ฐํ ์ด์ ์ ๋๋ค. "๋ฌผ๋ก ์ฌ๋ฌ ๊ฐ์ ๊ธฐ๋ณธ ํ์ผ์ ๊ฐ์ง ์ ์์ต๋๋ค. ๋๋ ํ ๋ฆฌ๊ฐ ์์ต๋๋ค."
include_role
์ฌ์ฉํ๋ฉด defaults_from
์ต์
์ ํตํด ์ด์ '๋์ฒด' ํ์ผ์ ์ง์ ํ ์ ์์ต๋๋ค. http://docs.ansible.com/ansible/include_role_module.html
defaults/main.yml
๋ถํ ์ด ํ์ํ ์ํฉ์ ์ฒํ์ต๋๋ค. ๋ฌธ์ ์ ๋ด ๐๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ผ, ๋๋ ํ์ํด
+1
+1
@bcoca ๋ ํ๋ฅญํ ์ถ๊ฐ ๊ธฐ๋ฅ์ด๋ฉฐ ์ ์ฐ์ฑ์ ์ถ๊ฐํ์ง๋ง ์ฌ๊ธฐ์๋ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ์ง ์์ผ๋ฉฐ ์ ์์ ์ธ ๊ธฐ๋ณธ๊ฐ์ ์ฝ๊ฒ ์ค์ ํ ์ ์๋ ์ญํ ์ ๋ถ์ฌํ๋ ค๋ ์๋๊ฐ ์๋ ๊ฒฝ์ฐ ํ๋ ์ด๋ถ ์์ฑ์์๊ฒ ์ฑ ์์ด ์์ต๋๋ค.
์์ ๋ด ์๊ฒฌ์ ๊ฒํ ํ์ญ์์ค
์, ์ด๊ฒ์ 2k ๋ผ์ธ์ ํ์ผ์ ํผํ๋ ๋ฐ ๋งค์ฐ ์ ์ฉํ ๊ธฐ๋ฅ์
๋๋ค.
+1
+1
+1
๐
+1
+1
+1
๋์ผํ ๋ฌธ์ ๊ฐ ์ฌ๊ธฐ์ ์์ต๋๋ค. main.yml์ด ๋๋ฌด ์ปค์ ์ฌ๋ฌ ํ์ผ๋ก ๋ถํ ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ด "๊ทธ๋ฅ ์๋"ํ๊ณ dir์ด๊ธฐ ๋๋ฌธ์ defaults/ ์๋์ ์๋ ํ์ผ์ ๋ชจ๋ vars๋ฅผ ๋ก๋ํ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ์ต๋๋ค. ์ฆ๊ฒ์ง ์๋ค.
+1
+1
+1
๐
+1
+1
๐
์ฌ๋ฌ๋ถ์ ๋ชจ๋ +1 ๋๊ธ์ ์ซ์ดํ ์ ์์ง๋ง ๊ตฌ๋ ์ ์๋ฅผ ์ถ์ ํ ์ ์๋์ง ์์ฌ์ค๋ฝ์ต๋๋ค. ๋ฐ๋ผ์ +1์ ์ถ๊ฐํ๋ ๊ฒ์ ์ฌ์ ํ โโ์ํ๋ ์ง์์ ํ์ํ๋ ์ ์ ํ ๋ฐฉ๋ฒ์ ๋๋ค.
์ด์ ๊ด์ฌ์ด ์ด์ ๊ตฌ๋ ์ ์์ ๋ช ํํ๊ฒ ์ฐ๊ฒฐ๋ ๋๊น์ง +1 ๋๊ธ์ ๋ณผ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค.
์์ํ ์ ์๋ ๊ฒ์ ๊ฐ๋ฅํ ํ์ด ๋์ ๋ฌธ์ ๋๊ธ์ ์ ๊ทธ๋ ๊ฒ์ด๋ฏ๋ก ์คํธ ๋ฐ์ก์๊ฐ ๋์ง ๋ง๊ณ ์นํธํ์ง ๋ง์ญ์์ค.
์์ํ ์ ์๋ ๊ฒ์ ๊ฐ๋ฅํ ํ์ด ๋์ ๋ฌธ์ ๋๊ธ์ ์ ๊ทธ๋ ๊ฒ์ด๋ฏ๋ก ์คํธ ๋ฐ์ก์๊ฐ ๋์ง ๋ง๊ณ ์นํธํ์ง ๋ง์ญ์์ค.
๊ทธ๋ค์ ๊ทธ๋ ๊ฒ ํ ์ ์์ง๋ง ์ด๊ฒ์ ํนํ ์ด์ roles
ํฌํจ ๋ฉ์๋์ ํจ๊ป 2.x์ include_role
๋ฅผ ๋์
ํ ์ดํ๋ก ์ญํ ์ ์ ์ ํ๊ฒ ๊ฐ๋ฐํ ์ ์๋ ํต์ฌ ๋ฌธ์ ์
๋๋ค. include_role
์ ํธํ๋๋๋ก ์ญํ ์ ์ค๊ณํ๋ฉด ์ด์ roles
๋ฐฉ๋ฒ๋ง ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๊ฐ๋ฐ์ ํจ์ฌ ๋ ๋ชจ๋ํํ๊ณ ์ ์ฐํ๊ฒ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋ ์ข์ต๋๋ค. ํ๋ ์ด๋ถ์ ์์
์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ ํฌํจํ์ฌ ์ถ์ ํ๊ฑฐ๋, ์ญํ ์ด ์ ๋๋ก ์๋ํ๊ธฐ ์ํด ์ด ์์
์ ์ํํ๋ ๋ฐฉ๋ฒ์ ์ ํ์๊ฐ ์๋ ์ต์ข
์ฌ์ฉ์์๊ฒ ์ฑ
์์ ์ ๊ฐํ๊ฑฐ๋, ํ๋ซํผ/๋ฐฐํฌ/๋ฆด๋ฆฌ์ค๋ฅผ ์ค์ฒฉ๋ ์์ค์ผ๋ก ์ถ์ ํฉ๋๋ค. ๊ฐ๋ฐ์ ๋ณต์กํ๊ฒ ๋ง๋๋ ์ญํ ๋ณ์(Ive๊ฐ ์ฌ๊ธฐ์์ 20๊ฐ์ ์๋ก ๋ค๋ฅธ ํ๋ซํผ ๋ฒ์ ์ ์ง์ํ ์ ์๋ ์ญํ ์ ์์ฑํ ๋ ์๋ํ์ง๋ง). ์ค์ ๋ก ์ฌ๋ฌ ํ๋ซํผ์ ์ค์ ๋ก ์ง์ํ๋ ์ญํ ์ ์์ฑํด ๋ณด์
จ์ต๋๊น? Ansible Galaxy์ ๋๋ถ๋ถ์ ์ญํ ์ด ์๋ ์ด์ ๋ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค. ์ด ๋ฌธ์ ๋ ์๋ง๋ IMO ๋ชฉ๋ก์์ 1์์ผ ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ ๊ทธ๋ค์ด ์ด๊ฒ์ ์ ๊ทธ๊ณ 1๋ ๋ ๋ฌธ์ ์ ์ ํ ์๋ตํ์ง ์๊ณ ์ฌ๋๋ค์ด ์ค์ ์๋ฃจ์ ์ ๋ง๋๋ ๊ฒ์ ๋ฐฉํดํ๋ ์ค์ํ ๋ฌธ์ ์ ๋ํด ๋ ผ์ํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ค๊ณ ์ปค๋ฎค๋ํฐ์ ์ ํธ๋ฅผ ๋ณด๋ธ๋ค๋ฉด ์ฌ๋๋ค์ด ๊ณ ์ํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ํ์คํ ๊ธฐ๋ํ ์ ์์ต๋๋ค. ์ฃผ์๋ฅผ ๋๋ฌ๋ณด๊ณ ์ ํ์ ๊ณ์ ์ฌ์ฉํ์ญ์์ค. ๊ทธ๋ค์ด ๋ต์ฅ์ ํ๊ณ ๋ฌธ์ ์ ๋์ํ๋์ง ์ฌ๋ถ๋ฅผ ์๋ฆฐ๋ค๋ฉด ์ฌ๋๋ค์ ๋ฌธ์ ์ ๋ํ ๊ด์ฌ์ ๋๊ธฐ ์ํด +1์ ์ค๋จํ ๊ฒ์ ๋๋ค.
์ค์ ๋ก ์ค์ ๋ก ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ๊ฐ์ ์ด๋ค ์ํฅ์ ๋ฏธ์น ์ง ์๊ฐํ์ง ์๊ณ include_role
๋ฅผ ์ถ์ํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฌธ์ ์ผ ๋ฟ์
๋๋ค. ์ญํ ์ ์ ๋๋ก ์ํํ๊ธฐ ์ํด ๋๊ตฐ๊ฐ์๊ฒ roles
์ include_role
์ค ํ๋๋ฅผ ์ ํํ๋๋ก ๊ฐ์ํ๊ฑฐ๋ ๋ ๋ค ๋์์ ์๋ํ ์ ์๋๋ก ์ถ๊ฐ ์์
์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ฌ๊ธฐ์ ๋ฌธ์ ์ ํต์ฌ์
๋๋ค.
๋ด 2์ผํธ.
์ถ์ ์๋ฆผ์ ์ํ์ง ์๊ธฐ ๋๋ฌธ์ +1์ ๋ค์ด๋ณดํ ํ๋ ๊ฒฝ์ฐ.... ์ค๋ฅธ์ชฝ ์๋จ์ ๊ตฌ๋ ์ทจ์ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ ์ด์ ์๋ฆผ์ ๋ฐ์ง ์์ต๋๋ค.
๋ค, ์ด ๋ฌธ์ ๋ ๋น์ ์๊ฒ ์ค์ํฉ๋๋ค. ๋๋ ์์ ์ ์ดํดํ๋ค. ๋๋. ๊ทธ๊ฒ์ด ๋ด๊ฐ ๊ตฌ๋ ํ ์ด์ ์ ๋๋ค. BTW, ๊ทธ๋์ ๊ตฌ๋ ์ ์ทจ์ํ๊ณ ์ถ์ง ์์ต๋๋ค. ๊ทธ๋์ ์คํธ ๋ฐ์ก์๋ฅผ ๋ฐ๋ํฉ๋๋ค. ๊ทธ๋์ ์๋ ๋๊ธ ์ ์ฐฌ์ฑ ํฌํ๋ฅผ ํฉ๋๋ค. ์ด๋ _๊ฒ์ผ๋ฅธ_ ์ง์์ ๋ณด์ฌ์ฃผ๋ ๋ฌธ๋ช ํ๋ ๋ฐฉ๋ฒ ์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ ๋ํ ์์ฒญ์ ์ ๋ชฉ์๋ฆฌ๋ฅผ ์ถ๊ฐํ๊ณ ์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์์ธํ ์ค๋ช ํ๊ณ ์ถ์ต๋๋ค. ํฐ main.yml์ ๋ถํดํ๋ ๊ฐ๋จํ ๊ธฐ๋ฅ ์ธ์๋ ๋ค์๊ณผ ๊ฐ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
- name: Some name
include_default_vars:
with_first_found:
- "{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml"
- main.yml
์ด๊ฒ์ผ๋ก ๋ฌ์ฑํ๊ณ ์ ํ๋ ๊ฒ์ [์๋ฅผ ๋ค์ด] ๋ชจ๋ ssh_config ๋ฐ sshd_config ์ต์ ์ ์ง์ํ๊ณ ์ฌ๋ฌ OS ๋ฐ ๋ฒ์ ์ ์ง์ํ๋ openssh ์ญํ ์ ๋๋ค. Debian 8/9, EL6/7 ๋ฑ] ๊ทธ๋ฌ๋ ์ฌ์ฉ์๊ฐ vars๋ฅผ ์ค์ ํ์ง ์๊ณ ํธ์ถํ๋ฉด ๊ตฌ์ฑ์ OS_majorversion ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ์์ ํ๊ฒ ๋น๋ํ์ง๋ง ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์ต์ ์ ์ฌ์ฉ์๊ฐ ์ฌ์ ์ํ ์ ์์ต๋๋ค.
ํ์ฌ ์ํ์์ ํด๋น OS ๊ธฐ๋ณธ๊ฐ์ include_vars์ ๋ฃ์ผ๋ฉด ์ฐ์ ์์๊ฐ ๋๋ฌด ๋์ ์ฌ์ฉ์๊ฐ ์ธ๋ฒคํ ๋ฆฌ, group_vars/all ๋๋ group_vars/groupname ๋๋ host_vars ๋ฑ์์ ํด๋น ์ค์ ์ ์ฌ์ ์ํ ์ ์์ต๋๋ค.
๋๋ ์ง๊ธ ์ด๊ฒ์ ํ ์ ์๋ ๋ฐฉ๋ฒ ์ด ์๋ค๊ณ ํ์ ํ์ง๋ง, ๋ด๊ฐ ์๊ฐํ ์ ์๋ ๋ชจ๋ ๊ฒ์ ๊ฒฉ๋ ฌํ๊ฒ ์ฐ์ํ์ง ์๊ณ ์ถํ๊ณ ์ ์งํ๊ธฐ ์ด๋ ค์ธ ๊ฒ์ ๋๋ค. ๋ํ ์ ์ด๋ ์ด ์์ ๊น์ง ๋ด๊ฐ ๋ง๋ #ansible์ ์ฐ์ํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์ด ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ๋์ ์์ด๋์ด๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ฉด ์ด๋ฅผ ํ์ฉํ๊ณ github/galaxy์์ ๋ ๋์ ํ์ง์ ์ญํ ์ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
@ralphie02 ์๋์, ์ด ์ค๋ ๋๊ฐ ๋ฌด์์ธ์ง์ ๋ํ ์๋ฃจ์ ๊ทผ์ฒ์๋ ์์ต๋๋ค. ์ด๋ ๋ค์ค ํ๋ซํผ ์ญํ ์ ๋ํ ๊ธฐ๋ณธ๊ฐ ์ค์ ์๊ตฌ ์ฌํญ๊ณผ ๋ค๋ฅธ ์ผ๋ฐ์ ์ธ ํธ์คํธ ๊ธฐ๋ฐ ๋ณ์์ ๋๋ค.
์ ์ฌํ vars / feature_idea: https://github.com/ansible/ansible/issues/11639
์ด๊ฒ์ ์ ๋ง๋ก PITA์ ๋๋ค.
์๋ฃจ์ ์ ์ ์ํ ์ ์๋ค๋ฉดinclude_vars
์ ์ ์ฌํ์ง๋งmeta/main.yml
์ ๋ก๋ ์์๋ฅผ ์ง์ ํ๋ ์ต์ ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.- dependencies: [] - default_vars: - "main.yml" - "{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml"
์ด๋ ๊ฒ ํ๋ฉด ์ต์ ์ด ๊ธฐ๋ณธ์ ์ผ๋ก
["main.yml"]
๋๊ณ ๊ธฐ์กด ์ฝ๋๊ฐ ์์๋์ง ์๊ณ ๊ฐ๋ฐ์๊ฐ ์ ํํ ์ปจํ ์คํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ถํ๋ ๋ณ์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ด ์ข์ ํด๊ฒฐ์ฑ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ง๊ธ ๋น์ฅ์ os/version/etc์์ ๋ค๋ฅธ ๊ธฐ๋ณธ๊ฐ ์ธํธ๋ฅผ ๊ฐ์ง ์ ์๋ ์ฌ์ด ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด ๊ตฌํ์ ๋ํ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ ์งํ๋ฏ๋ก ์ข์ ์ ํ์ด๊ธฐ๋ ํฉ๋๋ค.
@abedwardsw (์์ ์ฃผ์)์ ๋ฐ๋ผ:
@cornfeedhobo (15 :+1: !) (๋๋ @doubletwist13 ์ ์กฐ๊ธ ๋ ์ต๊ทผ)์ >2๋
๋ ์ ์์ ๋ด๊ฐ ์๋ ๋ง์ ์ญํ , ํนํ ์ถฉ๋ถํ ๋ณต์กํ ์ญํ ์ ์ ๋ง ์ ์ฉํ ๊ฒ์
๋๋ค.
https://github.com/hortonworks/ansible-hortonworks
๊ทธ๋ค์ ์๊ฒฌ์ ๋ํ ์ง์ ์ ์ธ ์ฐธ์กฐ:
@geerlingguy ์ ์ ์(2016๋ ๋ถํฐ!)๊ณผ ๋ด ์๊ฒฌ(๊ด๋ จ ๋ฌธ์ ๋ฅผ ์์งํ๋ ค๊ณ ํจ)๋ ์ฐธ์กฐํ์ญ์์ค .
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ธฐ๋ณธ ์ญํ ๋ณ์์
include_vars
๋ชจ๋์ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ ๋ณ์๊ฐ ์ ์ด์ ์กด์ฌํ๋ ์ด์ , ์ฆ ์ญํ /ํ๋ ์ด๋ถ์ ๋ค๋ฅธ ๋ถ๋ถ์์ ์ฝ๊ฒ ๋ฎ์ด์ธ ์ ์๋ "์ตํ์ ์๋จ ๊ธฐ๋ณธ๊ฐ"์ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฒ์ ๋ฌดํจํํฉ๋๋ค.defaults/
๋๋ ํ ๋ฆฌ์ ์ฌ๋ฌ ํ์ผ์ด ์๋ค๋ ์์ด๋์ด๋ ์ด์ ์ IRC์์ ๋ ผ์๋์์ผ๋ฉฐinventory/group_vars/
๋ฐinventory/host_vars/
๋๋ ํ ๋ฆฌ์ ์ ์ฌํ๊ฒdefaults/
๋๋ ํ ๋ฆฌ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๊ฒ์ด ๊ฐ์ ธ์ ์ข๋ค. ํ์ํ ์ฝ๋๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ฉฐ ์ญํ ๊ธฐ๋ณธ๊ฐ์ ์ฝ๊ฒ ์ ์ฉํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.