728x90
Ansible에서는 템플릿 언어로 jinja2 를 사용한다.
jinja2는 python의 템플릿 언어이며, 동적 데이터를 생성하는 데 사용하다. 주로, 복수의 마크업과 소스코드를 생성하는데 사용
{{ Python Code 또는 변수 참조 }}
{% %} 제어 문
{# #} 주석처리
template: 이라고 추가하고, 템플릿 구성 파일인 jinja2 파일을 src 에 추가할 수 있다. 생성되는 템플릿 파일의 위치를 dest에 지정할 수 있다.
- hosts: ansi-node1
vars:
date: 2023-03-07
tasks:
- template:
src: temp_dir/template1.j2
dest: /tmp/template_test
template1.j2 파일 내용
{{ date }}
{# loop #}
{% for i in range(1,6) %}
user{{ i }}
{% endfor %}
간단한 파이썬 for 문으로 유저 아이디를 만드는 템플릿이다.
플레이북 실행하기
$ ansible-playbook tem1.yaml
실행 후, ansi-node1에 접속한다. 그리고 dest 에 설정한 경로에서 파일을 확인해보면 다음과 같다.
vagrant@ansi-node1:/tmp$ cat template_test
2023-03-07
user1
user2
user3
user4
user5
728x90