이번 포스팅에서는 이전 포스팅에 다뤘던 주제인 ansible-playbook 명령어 사용법에 이어서,
dry-run 모드 사용법에 대해서 알아보도록 한다.
Dry-run 모드는 실제로 인프라를 배포하기전에 앤서블을 체크 모드로 실행하는 것을 의미한다.
실제 환경에 변경된 템플릿을 반영하는것이 불안하고, 어떤 변화가 예상되는지 확인할 경우 유용하게 쓰인다.
실행할 경우 어디가 변경되는지 미리 표시해주는 기능까지 제공된다.
1. dry-run 모드 실행하기
$ ansible-playbook -i development site.yml --check --diff
dry-run 모드를 실행한 결과 TASK들에 대한 상태가 모두 바뀌지 않았음이 확인된다.
2. index.html파일 수정 후 dry-run 모드 실행
다음으로는 nginx가 호출하는 html 파일을 수정해서 코드가 변경된 상황을 연출한다.
2.1. index.html 파일의 내용 수정
$ vi /home/vagrant/ansible-playbook-sample/roles/nginx/templates/index.html.j2
hello, {{env}} ansible !!!!! #원본
hello, {{env}} ansible ... #수정본
2.2. dry-run 모드로 ansible-playbook 실행
$ ansible-playbook -i development site.yml --check --diff
위와 같이 dry-run 모드로 실행하면 어떤 내용이 바뀌었는지 확인할 수 있다.
명령어를 설명하자면,
--check 옵션은 dry-run 모드를 지정하는 것이고, --diff 옵션은 변경 차이를 표시하는 것이라고 할 수 있다.
3. localhost를 호출해서 실행결과 변동사항 확인
$ curl localhost
위와 같이 curl을 이용하여 localhost에 requset를 보내보면 index.html 수정하기 전 상태임을 확인할 수 있다.
즉 dry-run 기능을 이용하여 환경이 변경되는 상태만 확인하고, 실제로 환경 변화가 일어나지 않은 것이다.
이번 포스팅에서는 ansible-playbook의 dry-run 기능에 대해서 정리해보았다.
인프라를 변화 시키지 않고, 테스트가 가능해서 참 유용한 것 같다.
다음 포스팅에서는 ansible + Serverspec을 이용한 인프라 구축 테스트를 코드화 하는 방법에 대해새 정리하려고 한다.
참고자료
[1] IT 운용 체제 변화를 위한 데브옵스 | 2019 | 키와무라 세이고 ... | 링크
'클라우드 컴퓨팅 & NoSQL > Ansible' 카테고리의 다른 글
[앤서블(Ansible)] Serverspec 사용법 (0) | 2021.04.15 |
---|---|
[앤서블(Ansible)] ansible-playbook 사용법 (0) | 2021.04.13 |
[앤서블(Ansible)] Ansible의 기본적인 사용법 (nginx) (0) | 2021.04.13 |