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)

  • 이 안내서 항목들은 서로 연결되어 있어요. 예를 들어 "검색 경로", "플레이북 작업", "오류 처리" 페이지들을 순서대로 읽어 보면 플레이북을 처음부터 끝까지 설계하는 전체 흐름을 잡을 수 있답니다.