Ansible 플레이북 사용하기
Ansible 플레이북 사용하기 (Using Ansible playbooks)
이 문서는 Ansible 플레이북 안내서의 시작점이에요. 플레이북이 무엇인지, 그리고 작업과 플레이를 어떤 다양한 상황에서 활용할 수 있는지 안내합니다. 하나씩 따라가다 보면 인벤토리의 노드를 배포하고 구성하는 자동화 청사진을 직접 설계할 수 있게 돼요.
출처: 문서
본문
Ansible 플레이북 안내서에 오신 것을 환영합니다.
플레이북은 YAML 형식으로 작성하는 자동화 청사진으로, Ansible이 인벤토리의 노드를 배포하고 구성하는 데 사용해요. 이 안내서는 플레이북을 소개한 뒤, 작업과 플레이의 다양한 사용 사례를 다룹니다. 예를 들면:
- 승격된 권한으로 또는 다른 사용자로 작업 실행하기.
- 루프를 써서 목록의 항목마다 작업을 반복하기.
- 서로 다른 머신에서 작업을 실행하도록 플레이북 위임하기.
- 조건부 작업 실행과 플레이북 테스트로 조건 평가하기.
- 블록을 써서 작업 묶음을 그룹화하기.
또한 컬렉션 사용, 재사용 가능한 파일과 롤 만들기, 플레이북의 include와 import, 태그로 플레이북의 일부만 실행하는 방법 등을 배워 플레이북을 더 효과적으로 활용할 수도 있어요.
이 안내서에서 다루는 주제
- 플레이북 소개 (Ansible playbooks)
- 플레이북 문법 (Playbook syntax)
- 플레이북 실행 (Playbook execution)
- Ansible-Pull
- 플레이북 검증 (Verifying playbooks)
- 플레이북 작업 (Working with playbooks)
- 템플릿팅 (Jinja2)
- 필터로 데이터 다루기 (Using filters to manipulate data)
- 테스트 (Tests)
- 룩업 (Lookups)
- 템플릿에서의 Python3
- now 함수: 현재 시간 가져오기
- undef 함수: 정의되지 않은 변수에 대한 힌트 추가하기
- 루프 (Loops)
- 작업이 실행될 위치 제어: 위임과 로컬 액션 (delegation and local actions)
- 조건문 (Conditionals)
- 블록 (Blocks)
- 핸들러: 변경 시 작업 실행 (Handlers)
- 플레이북 오류 처리 (Error handling in playbooks)
- 원격 환경 설정 (Setting the remote environment)
- 언어별 버전 관리자 사용 (Working with language-specific version managers)
- Ansible 아티팩트 재사용 (Reusing Ansible artifacts)
- 롤 (Roles)
- 모듈 기본값 (Module defaults)
- 대화형 입력: 프롬프트 (Interactive input: prompts)
- 변수 사용 (Using variables)
- 변수 발견: 팩트와 매직 변수 (facts and magic variables)
- 플레이 인자 검증 (Play Argument Validation)
- 명세 형식 (Specification Format)
- 샘플 명세 (Sample Specification)
- 플레이북 예시: 지속적 전달과 롤링 업그레이드 (Continuous Delivery and Rolling Upgrades)
- 플레이북 실행 (Executing playbooks)
- 작업 검증: 체크 모드와 diff 모드 (check mode and diff mode)
- 권한 승격 이해: become
- 태그 (Tags)
- 문제 해결을 위한 플레이북 실행 (Executing playbooks for troubleshooting)
- 작업 디버깅 (Debugging tasks)
- 비동기 작업과 폴링 (Asynchronous actions and polling)
- 플레이북 실행 제어: 전략과 그 외 (strategies and more)
- Ansible 검색 경로 (Search paths in Ansible)
- 설정 경로 (Config paths) / 작업 경로 (Task paths)
- 고급 플레이북 문법 (Advanced playbook syntax)
- 안전하지 않거나(raw) 원시 문자열 (Unsafe or raw strings)
- YAML 앵커와 별칭: 변숫값 공유하기 (YAML anchors and aliases)
- 데이터 다루기 (Manipulating data)
- 루프와 리스트 컴프리헨션 (Loops and list comprehensions)
- 복합 타입 변환 (Complex Type transformations)
더 알아보기 (Learn more)
- 이 안내서 항목들은 서로 연결되어 있어요. 예를 들어 "검색 경로", "플레이북 작업", "오류 처리" 페이지들을 순서대로 읽어 보면 플레이북을 처음부터 끝까지 설계하는 전체 흐름을 잡을 수 있답니다.