1장. 소개
Ansible 플레이북은 자동화 작업을 위한 블루프린트로, 솔루션 인벤토리에서 제한된 수동 노력으로 실행되는 작업입니다. 플레이북은 Ansible에서 어떤 장치에서 수행할 작업을 지시합니다. IT 환경에서 수백 또는 수천 개의 유사한 기술에 동일한 작업을 수동으로 적용하는 대신 플레이북을 실행하면 지정된 유형의 인벤토리(예: 라우터)에 대해 동일한 작업이 자동으로 완료됩니다.
플레이북은 운영 체제 및 Kubernetes 플랫폼(네트워크, 보안 시스템, GitHub와 같은 코드 리포지토리)과 같은 IT 인프라를 자동화하는 데 정기적으로 사용됩니다. 플레이북을 사용하여 모든 항목을 처음부터 생성하는 수동 오버헤드 없이 애플리케이션, 서비스, 서버 노드 및 기타 장치를 프로그래밍할 수 있습니다. 플레이북과 그 내의 조건, 변수 및 작업을 무기한 저장, 공유 또는 재사용할 수 있습니다. 이를 통해 운영 지식을 조정하고 동일한 작업을 일관되게 수행할 수 있습니다.
1.1. Ansible 플레이북은 어떻게 작동합니까?
Ansible 플레이북은 지정된 인벤토리 또는 호스트 그룹에 대해 자동으로 실행되는 작업 목록입니다. 하나 이상의 Ansible 작업을 결합하여 플레이(즉, 특정 호스트에 매핑된 정렬된 작업 그룹)를 만들 수 있습니다.
작업은 작성된 순서대로 실행됩니다.
플레이북에는 하나 이상의 플레이가 포함될 수 있습니다.
플레이북은 정렬된 목록에 있는 하나 이상의 플레이
로 구성됩니다.
플레이북
과 플레이
라는 용어는 활동적인 유사성입니다.
각 플레이는 하나 이상의 작업을 실행하여 플레이북의 전체 목표의 일부를 실행합니다.
각 작업은 Ansible 모듈을 호출합니다.
- Playbook
- 전체 목표를 달성하기 위해 Ansible에서 작업을 수행하는 순서를 정의하는 플레이 목록입니다.
- play
- 인벤토리의 관리 노드에 매핑되는 정렬된 작업 목록입니다.
- Task
- Ansible에서 수행하는 작업을 정의하는 단일 모듈에 대한 참조입니다.
- 역할
- 역할은 기능을 "조리"에 배치하여 필요에 따라 플레이북에서 코드를 사용할 수 있는 플레이북 코드를 재사용 가능하게 만드는 방법입니다.
- module
- Ansible이 관리 노드에서 실행되는 코드 또는 바이너리 단위입니다.
Ansible 모듈은 각 모듈에 대해 정규화된 컬렉션 이름 (FQCN)을 사용하여 컬렉션으로 그룹화됩니다. 작업은 모듈에서 실행되며, 각 작업은 플레이북에서 특정 작업을 수행합니다. 모듈에는 작업이 실행되는 시기와 위치를 결정하는 메타데이터와 이를 실행하는 사용자가 포함됩니다. 다음과 같은 모든 종류의 IT 작업을 수행하는 수천 개의 Ansible 모듈이 있습니다.
- 클라우드 관리
- 사용자 관리
- 네트워킹
- 보안
- 구성 관리
- 통신