✅ Ansible이란?
: IT 인프라 설정을 자동으로 해주는 오픈 소스 도구
사용자가 수작업으로 진행하던 프로비저닝, 환경 설정, 애플리케이션 배포 등의 IT 업무를 코드 기반으로 작성하여 여러 환경에 동일하게 적용할 수 있도록 돕는 역할을 수행한다.
✅ 특징
No Agent 방식
별도의 프로그램 설치 없이, SSH만 연결되면 바로 사용 가능하다.
예전에 많이 사용하던 Puppet이나 Chef는 자동화 관리 대상 서버에 별도의 에이전트를 설치하고 이를 통해 자동화 업무를 수행한다.
이런 데몬 형식의 에이전트에 기반한 자동화 도구는 관리를 위한 복잡한 추가 작업이나 운영체제 버전에 따라 추가 패키지나 모듈을 설치하는 등의 작업이 발생한다.
- 쿠버네티스 : 제어 노드에서 API를 보내면 워커 노드에서 받아서 처리한다. 워커 노드 쪽에도 API를 받아서 처리할 수 있는 에이전트가 필요하다. (Agent 방식)
- Ansible : Python code를 받아서 처리하는 방식으로, 워커 노드에서 별도의 에이전트가 필요 없다. (No Agent)
Idempotent(멱등성)
같은 운영 작업을 여러 번 수행해도 동일한 결과를 만들어 낸다.
쉬운 사용법과 다양한 모듈 제공
자동화 단계는 에디터만 있으면 YAML 문법을 사용하여 쉽게 작성하고 읽을 수 있다.
파일 복사와 같은 일반 시스템 관리 모듈부터 다양한 환경의 퍼블릭 클라우드 관련 모듈 및 컬렉션까지 제공한다.
playbook 샘플을 찾아보기 쉽다.
✅ 용도
- 여러 시스템에 동일한 작업을 해야 할 상황에 주로 이용
- 시스템 환경 설정
- 애플리케이션 설치
- 퍼블릭이나 프라이빗 클라우드 시스템의 가상 서버 생성
- 매일 점검해야 하는 시스템의 상태 체크
✅ 사용 가능한 운영체제
Linux, Mac OS, BSD 계열의 유닉스, WSL을 지원하는 윈도우에서 사용 가능하다.
✅ 관련 자료
- 공식 깃허브(https://github.com/ansible)
- 공식 문서(https://docs.ansible.com/)
'Cloud > Ansible' 카테고리의 다른 글
| Ansible Playbook (0) | 2025.08.07 |
|---|---|
| Ansible 설치 (0) | 2025.08.07 |
| Ansible Architecture (2) | 2025.08.07 |