Configuration Management System
- Provision
- Orchestration
- System 설정을 code로 관리 합니다.
- 멱등성(indempotency) - 여러 번 적용해도 결과는 학상 동일 합니다.
Ansible 특징
- Configuration management tool
- Open Source
- Python 기반
- Michael DeHaan 개발
- Ansible. Inc는 Redhat에 인수됨
- ssh연결
- 순차 적용
- 수백개의 모듈 제공
- Template - jinja2
- Playbook은 yaml을 사용
- Agentlee 방식으로 관리 호스트에 별도 작업이 필요하지 않음
- Twitter가 ansible로 전환
- Web관리 UI인 ansible-tower(상용)
Ansible로 무엇을 할 수 있나요?
- 설치/배포
- 패키지 인스톨, 설정 변경, 파일 전송, 서비스 시작/정지 등을 원격 조작
- 오케스트레이션
- 서버, 네트워크, 서비스, 로드 밸런스, 방화벽설정 및 배포를 자동화
- 구성 관리 도구
- 신규 시스템 구축이나 일상적인 운영 업무를 IaC화
- Puppet
- 많은 도입고객과 정보량
- 기술적 복잡도 높음
- Chef
- Puppet과 유사한 방식으로 기술적 복잡도 높음
- Salt
- 정보량이 많지 않고 발전속도가 빠르지 않음
- Puppet과 Chef의 Agent 기술모델사용
- Ansible
- Agent설치 불필요***
- 기술적 복잡도가 낮음
- YAML 구성이 쉬움
- 가장 늦게 나왔지만 빠르게 성장