책 소개
요약
환경설정 배포가 손쉬운 자동화 툴 앤시블(Ansible)은 단순하게 설계되어 배우기 쉽고, 곧바로 적용할 수 있다. 에이전트(Agent) 기반이 아닌 SSH 기반으로 SSH 연결을 통해 코드를 전송하고, 스크립트를 실행한다. 따라서 관리 장비에 앤시블을 설치할 필요가 없고 스크립트 배포 없이 서버 실행이 가능하다. 또한 멀티플랫폼에서도 동작하며, 병렬 실행이 가능해 처리 속도가 빠르다. 앤시블 내부 모듈은 멱등성을 지원하기 때문에 여러 번 실행해도 문제가 되지 않는다. 국내에서 첫 출간되는 앤시블 책이다.
이 책에서 다루는 내용
■ 앤시블을 이용한 시스템과 서비스 설정
■ 앤시블 시스템 정보를 얻기 위한 커맨드라인 도구 사용
■ 하나의 커맨드로 여러 액션을 수행할 수 있는 앤스블 스크립트 작성
■ 대규모 환경에서 유지 보수 가능한 설정 만들기
■ 앤시블의 고급 기능을 언제, 어떻게 사용할지 배우기
■ 동적으로 생성될 인벤토리 사용
■ 설정을 논리적인 부분으로 나눌 수 있는 앤시블 롤 사용과 이해
■ 자신만의 모듈을 작성하여 앤시블의 기능 확장
이 책의 대상 독자
이 책은 앤시블의 기초를 이해하고자 하는 사람을 위해 쓰여졌다. 리눅스 장비를 설치하고 설정하는 방법도 살펴볼 수 있다. 또한, BIND, MySQL, 리눅스 데몬의 설정 파일을 다루기 때문에 해당 설정 파일의 관련 지식이 있다면 도움이 되겠지만 반드시 필요한 것은 아니다.
이 책의 구성
1장, ‘앤시블 시작’에서는 앤시블의 기초, 인벤토리를 만드는 방법, 모듈을 사용하는 방법, 가장 중요한 도움을 받는 방법을 알아본다.
2장, ‘간단한 플레이북’에서는 장비를 관리하는 앤시블 플레이북을 생성하기 위해 여러 모듈을 결합할 수 있는 방법을 살펴본다.
3장, ‘플레이북 심화 내용’에서는 앤시블의 스크립트 언어에 대해 깊게 탐구하고 더 복잡한 언어 구조를 알려준다.
4장, ‘대규모 프로젝트’에서는 매우 복잡한 시스템을 포함하는 대규모 배포에서 앤시블 설정의 크기를 변경할 수 있는 기법을 알아본다.
5장, ‘사용자 정의 모듈’에서는 앤시블의 현재 기능뿐 아니라 앤시블의 확장 방법을 살펴본다.
목차
목차
- 1장. 앤시블 시작
- 설치 방법
- 배포판에서 설치
- pip에서 설치
- 소스 코드로 설치
- 앤시블 설정
- 앤시블과 함께 하는 첫 단계
- 모듈 도움말
- 정리
- 2장. 간단한 플레이북
- 타깃 부분
- 변수 부분
- 태스크 부분
- 핸들러 부분
- 플레이북 모듈
- template 모듈
- set_fact 모듈
- pause 모듈
- wait_for 모듈
- assemble 모듈
- add_host 모듈
- group_by 모듈
- 정리
- 3장. 플레이북 심화 내용
- 병렬로 작업 실행
- 루핑
- 조건절 실행
- 태스크 위임
- 추가 변수
- hostvars 변수
- groups 변수
- group_names 변수
- inventory_hostname 변수
- inventoryhostnameshort 변수
- inventory_dir 변수
- inventory_file 변수
- 변수로 파일 찾기
- 환경 변수
- 외부 데이터 검색
- 결과 저장
- 플레이북 디버그
- debug 모듈
- verbose 모드
- check 모드
- pause 모듈
- 정리
- 4장. 대규모 프로젝트
- 인클루드
- 태스크 인클루드
- 핸들러 인클루드
- 플레이북 인클루드
- 롤
- 1.3의 새로운 기능
- 속도 내기
- 태그
- 앤시블의 풀 방식
- 정리
- 인클루드
- 5장. 사용자 정의 모듈
- 배시로 모듈 작성
- 모듈 사용
- 파이썬으로 모듈 작성
- 외부 저장소