파일 지우기
ansible DD -m file -a "state=absent path=/etc/hosts"
▪ 반복적인 작업을 효율적으로 하기 위해 사용
▪ loop 구문을 사용해서 각 모듈(작업)에 대한 반복 작업 수행 가능
▪ 변수 값을 변경하면서 모듈을 실행 ( item 이라는 이름의 변수 사용 )
▪ 조건식과는 다르게 block 단위의 반복작업은 불가
▪ 조건식과 함께 사용하는 방식은 가능
▪ loop 구문에서 변수 선언 시에 리스트 형태 구성도 가능
▪ 중첩 기능도 제공
반복문에 변수 참조
▪ loop에 목록 변수를 직접 지정할 수 있음
▪ apt, yum 등 패키지 관련 모듈과 같은 매개 변수에 목록을 직접 전달할 수 있는 모듈이 있음
▪ apt 모듈은 설치 패키지 이름을 리스트로 받을 수 있기 때문에 굳이 반복문을 사용할 필요가
없음
▪ 오히려 반복문을 사용하면 작업을 완료하는 시간이 오래 걸릴 수 밖에 없음
• 사전 목록 반복
• 중첩 목록 반복
• 인벤토리 반복
▪ Ansible은 조건문을 사용하여 특정 조건을 충족하는 작업 또는 플레이를 실행할 수 있음
▪ 서비스를 설치하거나 구성하기 전에 관리 호스트에서 사용 가능한 메모리를 확인하는데
조건문을 사용할 수 있음
▪ 조건문을 사용하여 관리자가 관리 호스트간의 차이점을 구분하고 충족된 조건을 기반으로 하여
기능 역활을 할당할 수 있음
▪ 플레이북 변수, 등록된 변수 및 Ansible 팩트는 모두 조건문을 사용하여 테스트할 수 있음.
▪ Ansible은 조건부에서 테스트 및 필터 를 사용
▪ 테스트는 표현식을 평가하고 True 와 False를 반환
▪ 조건문에서 변수를 참조 하더라도 변수명에 {{ }} 이중 중괄호를 사용하지 않음
▪ 플레이북에서 이전 작업의 결과에 따라 작업을 실행하거나 건너뛰고 싶을 때가 있음
▪ 이전 작업에서 업그레이드한 후 서비스를 구성할 수 있음
▪ register 변수를 기반으로 조건을 생성하는 요건
▪ 플레이북이나 인벤토리에 정의된 변수를 기반으로 조건문을 생성
▪ 조건문에는 부울 입력이 필요하기 때문에(조건을 트리거하려면 테스트가 True로 평가되어야 함)
'yes', 'on', '1' 또는 'true'와 같은 콘텐츠가 포함된 문자열 변수와 같은 부울이 아닌 변수에 필터를
적용
▪ 플레이북이나 인벤토리에 정의된 변수를 기반으로 조건문을 생성
▪ 조건문에는 부울 입력이 필요하기 때문에(조건을 트리거하려면 테스트가 True로 평가되어야 함)
'yes', 'on', '1' 또는 'true'와 같은 콘텐츠가 포함된 문자열 변수와 같은 부울이 아닌 변수에 필터를
적용
▪ Asible에서 파일을 관리하는 가장 강력한 방법은 템플릿을 만드는 것
▪ 템플릿을 사용하면 가능한 변수와 팩트를 사용하여 파일이 배포될 때 관리 호스트에 대해
자동으로 사용자 정의되는 템플릿 구성 파일을 작성할 수 있음
▪ Python의 매우 강력하고 고급 템플릿 언어
▪ 매우 빠르고 안정적이며 동적 데이터를 생성하는 데 널리 사용
▪ 텍스트 기반 템플릿 언어이므로 모든 마크업과 소스 코드를 생성하는 데 사용할 수 있음
▪ 제어 구조(루프 및 조건문)
▪ 템플릿 상속
▪ 사용자 정의 필터 지원
▪ 풍부한 내장 필터 세트
▪ 구성 가능한 구문
▪ Python의 매우 강력하고 고급 템플릿 언어
▪ 매우 빠르고 안정적이며 동적 데이터를 생성하는 데 널리 사용
▪ 텍스트 기반 템플릿 언어이므로 모든 마크업과 소스 코드를 생성하는 데 사용할 수 있음
▪ 제어 구조(루프 및 조건문)
▪ 템플릿 상속
▪ 사용자 정의 필터 지원
▪ 풍부한 내장 필터 세트
▪ 구성 가능한 구문
▪ {{ . . . . }}