templates vs files and jinja2

ansible directory structure

ansible ํด๋”์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํด๋”๊ฐ€ ๊ฐ๊ฐ์˜ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋ฉฐ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” files์™€ templates ํด๋”์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ํŒŒ์ผ์ด ๋ณ€๊ฒฝ์ด ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ (static) files ํด๋”์— ํŒŒ์ผ์„ ๋„ฃ์–ด๋‘๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  2. ํŒŒ์ผ์ด ๋ณ€๊ฒฝ์ด ๋  ๊ฒฝ์šฐ (dynamic) templates ํด๋”์— ํŒŒ์ผ์„ ๋„ฃ์–ด๋‘๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

jinja template

๋ณ€๊ฒฝ๋˜๋Š” ํŒŒ์ผ์˜ ๊ฒฝ์šฐ jinja template์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

https://jinja.palletsprojects.com/en/3.1.x/

์—ฌ๊ธฐ์„œ ํ™•์ธํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ˜ํ”Œ

์ž‘์—…์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์„ผํ„ฐ๋งˆ๋‹ค ntp์„œ๋ฒ„๊ฐ€ ๋‹ฌ๋ผ์„œ ์„ค์ •์ด ๋‹ฌ๋ผ์ ธ์•ผํ•ฉ๋‹ˆ๋‹ค.

IDC_A datacenter

IDC_B datacenter

jinjaํŒŒ์ผ์„ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค.

  • inventory_hostname : ์ธ๋ฒคํ† ๋ฆฌ์— ์ž‡๋Š” ํŒŒ์ผ์ด๋ฆ„์— idc์ด๋ฆ„์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

  • python find ํ•จ์ˆ˜๋Š” ์ŠคํŠธ๋ง์— ํŠน์ • ๋ฌธ์ž์—ด์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์—†์œผ๋ฉด -1์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ansible playbook์„ ๋งŒ๋“ค์–ด ๋ด…๋‹ˆ๋‹ค.

์‹คํ–‰

๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Last updated

Was this helpful?