반응형
주요 차이점은 다음과 같습니다.
- import * (import_playbook, import_tasks 등) 문은 플레이북이 Parsing될 때 사전에 처리가된다.
- include * (include_playbook, incloude_tasks 등) 문은 플레이북을 실행하는 동안 발생한대로만 처리한다.
위 내용에 따라 ansible에서는 import는 static (정적), include는 dynamic (동적)이라고 합니다.
task안에서 import_tasks를 사용할 수도 있으나, 보통 논리적으로 나눌때 import를 사용하고,
main.yml
- import_tasks: prepare_filesystem.yml
- import_tasks: install_prerequisites.yml
- import_tasks: install_application.yml
include를 사용하여 동적으로 수집된 내용으로 다양한 작업을 처리할 때 사용합니다.
include의 경우
- include_tasks: prerequisites_{{ ansible_os_family | lower }}.yml
정리 :
- import는 정적이며, 플레이북이 Parsing될 때 사전에 처리되어 일찍 에러등을 확인할 수 있지만
- include는 동적으로, ansible이 해당 작업에 도달하는 순간에 파싱됨으로 오류가 있을 경우 해당 작업에 도달했을 때 확인이 가능하다.
728x90
'IaC (Automation) > Ansible-Playbook' 카테고리의 다른 글
[playbook] node_exporter 설치 playbook (0) | 2021.10.08 |
---|---|
[playbook] Prometheus 설치 playbook (0) | 2021.10.08 |
[Ansible] AWS and Openstack Modules (0) | 2021.07.28 |
[Ansible] Roles 사용법 및 샘플 (0) | 2021.07.27 |
[Ansible] ansible vault 사용법 (0) | 2021.07.20 |