[Linux] 앤서블 플레이북 사용
플레이 북
하기 링크를 참조하여 엔서블 설치 및 테스트를 진행합니다 .
엔서블이 시행할 정책과 행동을 자세히 정의하고, 현재의 환경 설정 프로파일을 쉽게 공유하게 해줍니다 . 플레이북은 다음 두가지 방법으로 사용합니다 .
- 간단한 독립형 스크립트
- 특별한 구조의 디렉터리 트리에 분산된 리소스들을 가리키는 참조 ( 복잡한 환경에서 사용)
이번 포스팅에서는 간단한 독립형 스크립트를 이용한 플레이북을 사용해 보겠습니다.
간단한 플레이북 작성
copy 모듈과 같은 모듈 , 리눅스 시스템 작업을 실행하는 태스크 , 시스템 이벤트에 동적으로 반응하는 처리기를 사용합니다 .
우선 /etc/ansible에 있는 hosts 파일이 최신인지 확인 합니다 .
YAML 생성
/etc/ansible/에 site.yml이라는 YAML 형식의 파일을 생성 합니다 .
해설
파일 첫줄에 연속된 ---가 나오고 , hostm tasks,handlers 라는 총 세개의 항목이 있습니다 .
여기서 hosts 항목은 파일에 정의된 webservers 그룹에 플레이북을 적용하라고 합니다 .
task 항목은 세게의 테스크를 정의 합니다 .
yum 데스크는 아파치 웹서버를 설치, copy 테스크는 로컬 파일을 웹 문서 루트에 복사 하며 , service 테스크는 systemctl 과 비슷하게 실행 여부를 확인합니다 .
테스트 파일 생성
스크립트에 따라 index.html을 /home/usera에 생성했습니다.
플레이북 실행
# ansible-playbook site.yml
모든 작업이 성공적으로 이루어졌습니다 . 호스트 컴퓨터에 웹 도큐먼트를 확인합니다
결과
기존에 생성했던 index.html이 정상적으로 호스트에 index2.html로 복사 되었습니다 .
서비스도 정상적으로 작동합니다.
다음에는 좀더 복잡한 환경에서 플레이 북 서비스를 실행 시켜보겠습니다.