Ansible: vars_files๋Š” ๊ฐ™์€ ์—ญํ• ์˜ ์—ญํ• ์ด ํ•  ์ˆ˜์žˆ๋Š” ์‚ฌ์‹ค ๋˜๋Š” ๊ธฐํƒ€ ๋ณ€์ˆ˜๋ฅผ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 08์›” 10์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ansible/ansible

๋ฌธ์ œ ์œ ํ˜•
  • ๋ฒ„๊ทธ ์‹ ๊ณ 
๊ตฌ์„ฑ ์š”์†Œ ์ด๋ฆ„

ํ”Œ๋ ˆ์ด ๋ถ

ANSIBLE ๋ฒ„์ „
ansible 2.4.0
  config file = None
  configured module search path = [u'/Users/szabop/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /Library/Python/2.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 2.7.10 (default, Jul 14 2015, 19:46:27) [GCC 4.2.1 Compatible Apple LLVM 6.0
๊ตฌ์„ฑ

๋‚˜๋Š” ์—ญํ• ์„ ๊ฐ€์ ธ์˜ค๊ณ  ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์žฌ์ƒํ•˜๋ฏ€๋กœ ansible.cfg์— ์žˆ์Šต๋‹ˆ๋‹ค.

[defaults]
roles_path = ../../../deployment/playbooks/roles
OS / ํ™˜๊ฒฝ

OSX 10.10.5

์š”์•ฝ

๊ฐ€์ ธ์˜จ ํ”Œ๋ ˆ์ด์— ๋Œ€ํ•ด vars_files์˜ ๋ณ€์ˆ˜ (๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋Š” ํ”„๋กœ๋•์…˜ ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋จ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ ธ์˜ฌ ๋ณผํŠธ ํŒŒ์ผ์„ ๋™์ ์œผ๋กœ ๊ฒฐ์ •ํ•˜๋ ค๊ณ  ํ•  ๋•Œ group_vars, host_vars ๋˜๋Š” facts๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์„ค์ • ํ”Œ๋ ˆ์ด์—์„œ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ansible ๋ช…๋ น ์ค„ ์ธ์ˆ˜ ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„

ansible-playbook -t app_test -i inventories/localhost/local.hosts unit.yml

---
#
# network.yml
#
- name: Setup the networks
  hosts: dockerhosts
  vars_files:
     - demoVars.yml
     - "{{ vault_file }}"   # this will only be valid if declared on the ansible command line.
  roles:
    - role: debug     # note this will print out a valid {{ vault_file }} in all cases (but comment out the vars_files line or it will error first)
    - role: network_setup
      options:
        internal: "{{ networks.internal }}"
        external: "{{ networks.external }}"
        nginx: "{{ networks.nginx }}"
  tags:
    - setup
    - standalone
    - app_test
# unit.yml
---
- name: create facts used to compose variables later in this playbook
  hosts: dockerhosts
  vars:
    esTmpDir: "/tmp/es"
  roles:
    - role: unitenv_setup
  tags:
    - app_test
- import_playbook: ../../../deployment/playbooks/network.yml
์˜ˆ์ƒ ๊ฒฐ๊ณผ

--extra-vars ์‚ฌ์šฉํ•˜์—ฌ ansible ๋ช…๋ น ์ค„์— vault_file ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ฉด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ œ๋Œ€๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ธ๋ฒคํ† ๋ฆฌ ํŒŒ์ผ์—์„œ vault_file ๊ฐ€ ์„ค์ •๋˜๊ฑฐ๋‚˜ unitenv_setup ํŒฉํŠธ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ์ œ๋Œ€๋กœ ์‹คํ–‰๋˜์–ด์•ผํ•˜์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ๊ฒฐ๊ณผ

๋ช…๋ น ์ค„ ์ด์™ธ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ vault_file ๋ฅผ ์„ค์ •ํ•˜๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

PLAY [Setup the networks] *********************************************************************
ERROR! vars file {{ vault_file }} was not found

๋งค์šฐ ์ƒ์„ธ ๋ชจ๋“œ :

ETA: ran handlers
META: ran handlers
Read vars_file 'demoVars.yml'
skipping vars_file '{{ vault_file }}' due to an undefined variable
Read vars_file 'demoVars.yml'
skipping vars_file '{{ vault_file }}' due to an undefined variable

PLAY [Setup the networks] *********************************************************************
Read vars_file 'demoVars.yml'
ERROR! vars file {{ vault_file }} was not found

affects_2.4 bug core

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผํ• ๊นŒ์š”? ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ...

๋ชจ๋“  3 ๋Œ“๊ธ€

๋‚˜๋Š” ๋‹จ์ˆœํ•œ ๊ณต์œ  ๊ฐ€๋Šฅํ•œ ๋ณต์ œ๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜์—†๋Š” ๋‚ด ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ๋ณต์žกํ•œ ๋ฌด์–ธ๊ฐ€๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“ , ์—ฌ๊ธฐ ์— ์žฌํ˜„

๊ฐ€๋Šฅํ•œ ์˜คํ•ด

์•ˆ๋…•ํ•˜์„ธ์š”!

Ansible์— ์ œ์ถœํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ง„์‹ฌ์œผ๋กœ ์šฐ๋ฆฌ์—๊ฒŒ ๋งŽ์€ ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ๊ฐ€์ง€๊ฐ€ ๋ช…์‹œ๋œ ๊ฒƒ๊ณผ ์•ฝ๊ฐ„ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ท€ํ•˜๊ฐ€ ์ œ์ถœ ํ•œ ํ‹ฐ์ผ“์ด ๋‹ค์†Œ ์˜คํ•ด๋˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํŒฉํŠธ, ํ˜ธ์ŠคํŠธ ๋ฐ ๊ทธ๋ฃน ๋ณ€์ˆ˜ .. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  'ํ˜ธ์ŠคํŠธ ๊ด€๋ จ ๋ณ€์ˆ˜'๋Š” vars_files ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ํ•ด๋‹น ์‹œ์ ์—์„œ ์žฌ์ƒ ๋ฒ”์œ„ ๋ณ€์ˆ˜ ๋˜๋Š” ์ถ”๊ฐ€ ๋ณ€์ˆ˜ ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  include_vars ์ž‘์—…์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

์•ž์œผ๋กœ ์ด๊ฒƒ์€ ์‚ฌ์šฉ์ž ๋ชฉ๋ก์— ๋” ์ ํ•ฉํ•œ ์ฃผ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์œ„์™€ ๊ด€๋ จํ•˜์—ฌ ๋” ๋งŽ์€ ๋„์›€์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์—ฌ๊ธฐ์— ๊ฒŒ์‹œ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Ansible์— ๋Œ€ํ•œ ๊ด€์‹ฌ๊ณผ ๊ด€์‹ฌ์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผํ• ๊นŒ์š”? ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ...

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰