Ansible은 Red Hat이 개발한 오픈소스 IT 자동화 도구다. SSH를 통해 에이전트 없이 서버 설정, 소프트웨어 배포, 구성 관리를 자동화한다.
특징
| 특징 | 설명 |
|---|
| 에이전트리스 | 대상 서버에 별도 소프트웨어 불필요 |
| YAML | 사람이 읽기 쉬운 Playbook |
| 멱등성 | 동일 Playbook 여러 번 실행해도 같은 결과 |
| 다양한 모듈 | 패키지, 파일, 서비스, 클라우드 등 |
Playbook 예시
yaml
---
- name: 웹 서버 설정
hosts: webservers
become: yes # sudo 권한
tasks:
- name: Nginx 설치
apt:
name: nginx
state: present
- name: Nginx 설정 복사
copy:
src: nginx.conf
dest: /etc/nginx/nginx.conf
notify: restart nginx
- name: Nginx 시작
service:
name: nginx
state: started
enabled: yes
handlers:
- name: restart nginx
service:
name: nginx
state: restarted
인벤토리
ini
[webservers]
web1.example.com
web2.example.com
[databases]
db1.example.com ansible_user=ubuntu
관련 개념
참고문헌
- •Ansible 공식 문서: docs.ansible.com