원격 시스템의 관리를 자동화하고, 원격 시스템의 상태를 제어함
반복 작업 제거 및 워크플로우 간소화, 시스템 유지보수, 복잡한 소프트웨어의 지속적인 배포 등에 사용됨

1. Control node
- Ansible이 설치되는 시스템. control node에서 ansible 또는 ansible-inventory 명령어 실행 가능
- Inventory: 로직적으로 정리된 managed node의 리스트. Ansible에 host 배포를 설명하기 위해 control node에 inventory 생성
2. Managed node
- Ansible이 제어하는 원격 시스템 또는 호스트
플레이북(playbook)이라는 스크립트를 사용하여 작업을 자동화함
플레이북에 로컬 또는 원격 시스템의 원하는 상태를 선언하면, Ansible이 해당 상태를 유지하도록 보장함
pip install ansible

ansible과 ansible-inventory 명령어를 사용할 수 있다.
cd project
mkdir ansible
배포하고자 하는 프로젝트 폴더 내에 ansible 폴더를 생성해줬다.
- hosts: localhost
connection: local
gather_facts: false
tasks:
- name: docker compose up
shell: docker-compose up -d --build
args:
chdir: /path/to/docker-compose/
로컬 배포용의 경우 간단하게 playbook.yml만 작성해주면 된다.
ansible-playbook ansible/playbook.yml

ansible-playbook 명령어에 playbook.yml 파일을 지정해주면, docker-compose up에 대한 task가 실행되어 결과를 출력해준다.
정상적으로 배포가 된 것을 확인할 수 있다.
| Ubuntu 도커 GPU 사용 설정 (feat. Azure) (0) | 2026.02.03 |
|---|---|
| Android Studio를 활용한 안드로이드 프로그래밍 (0) | 2021.07.16 |
| Install Oracle in docker (도커에서 오라클 사용하기) (0) | 2021.05.19 |
| [ORACLE] sqlplus 출력 화면 설정 (0) | 2021.04.05 |
| 코딩 테스트 연습하기 (0) | 2021.01.04 |