Ansible - 생성한 플레이북 및 변수 재사용 > Ansible 자료실

본문 바로가기
사이트 내 전체검색

Ansible 자료실

운영 Ansible - 생성한 플레이북 및 변수 재사용

페이지 정보

profile_image
작성자 snow
댓글 1건 조회 6,030회 작성일 21-12-15 10:25

본문

1. 개요

플레이북 및 변수를 재사용한다는 것은 다른 Ansible 파일을 참조하여 작업한다는 것입니다.

아래와 같은 예시가 있습니다.

  • 상황
    • 기존 Playbook - HTTPD, MYSQL 패키지 설치
    • 작업 중인 Playbook - HTTPD, MYSQL 패키지 확인
  • 흐름
    • 패키지를 확인 후 패키지가 존재하지 않을 경우 패키지 설치
  •  작업
    • 작업 중인 Playbook에 기존 Playbook과 같은 내용을 재작성하는 것이 아닌 참조 기능을 사용하여 기존 Playbook 작업을 재사용

 

2. 재사용 가능한 기능

Ansible은 아래와 같이 4가지로 분류할 수 있습니다

  • vars 파일 - 변수가 정의되어있는 파일
  • task 파일 - 작업에 대한 내용이 정의되어있는 파일
  • Playbook 파일 - 변수 또는 작업 및 기타 내용들이 정의되어 있는 파일
  • Role - 관련 작업, 변수, 기본값 및 기타 플러그인의 디렉토리

 

3. 재사용 방법

Ansible은 플레이북 및 변수 등을 재사용 할 때 2가지의 방법으로 재사용이 가능합니다

  • 정적 - import 지시자 사용
  • 동적 - include 지시자 사용

import 지시자는 Playbook 실행 시 모든 import 한 파일의 구문 또는 내용을 분석하게 됩니다.

오류 발생 시 처음에 Playbook 실행을 멈추게 됩니다.

include 지시자는 Playbook 실행 후 include 지시자를 실행하는 작업에 도달할 경우 구문 또는 내용을 분석하게 됩니다.

오류 발생 시 include 지시자를 정의한 부분에서 Playbook 실행을 멈추게 됩니다.

 

4. 정리

   Include Import 
 재사용 유형  동적 방식  정적 방식 
 처리 방법  작업 실행 시  Playbook 파싱 중 전처리시 
 tasks 포함 여부  O 
 (Include 방식은 모두 하나의 task 입니다.)
 X
 (Import 방식은 Playbook 방식이므로 하나 이상의 task 입니다.)
 작업 옵션   Include 된 파일 안에 또 다른 재사용 작업은 존재하면 안됨.  Import 안에 또 다른 재사용 작업이 존재하더라도 사용 가능
 반복문 사용 여부  O  X
 tags 목록 확인 여부  X  O
 작업 목록 확인 여부  X  O
 핸들러 상세 요청 전달 가능 여부  X (Handler 작업 전체만 호출 가능)  O (Handler 작업 중 특정 작업만 따로 호출 가능)
 특정 작업부터 실행 가능 여부  X  O 
 인벤토리 변수 사용 여부  O   X 
 Playbook 자체를 재사용 가능 여부  X (  O 
 변수 파일 사용  O (Handler와 마찬가지로 변수 파일 전체를 호출 가능)  O (Handler와 마찬가지로 변수 파일 중 특정 변수만 따로 호출 가능) 

댓글목록

profile_image

최고관리자님의 댓글

최고관리자 작성일

좋은글 감사합니다. ^^

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

접속자집계

오늘
888
어제
1,612
최대
3,935
전체
795,359
Copyright © www.linuxdata.org All rights reserved.