반응형
1. Ansible 이란? |
- Provision & configuration management tool
- Python Github project 중 상위 랭킹 (6위)
- Enterprise 버전은 따로 존재하며 ansible 오픈 소스에 UI 와 일부 utility 추가한 상용 버전
- 오픈 소스 버전 (GPL)
- 해커 뉴스 분석을 보면 ansible이 많이 Mention 되어지고 있음
Ansible은 오픈 소스 소프트웨어 프로비저닝, 구성 관리, 애플리케이션 전개 도구입니다. 수많은 유닉스 계열 시스템에서 실행되며 유닉스 계열 운영 체제 및 마이크로소프트 윈도우의 구성이 가능합니다. 시스템 구성을 기술하기 위해 자체 선언형 언어를 포함하고 있습니다.
2. Ansible을 선택하는 이유 |
- SSH 통신, 빠른 provision 이 가능합니다.
- 추후 상용 환경에서 사용할 때 agent 기반이면 방화벽 이슈, agent 데몬 관리라는 불편한 점이 존재합니다. (agent 방식의 장점도 물론 존재합니다. 확장성, 대규모 provision을 할 경우 매우 효과적입니다. 대신 서버와 통신하는 부분이 고도화되기 때문에 빠르고 간단한 provision을 할 수 없습니다.
- 자동 배포 환경이 쉽습니다.
- 개발 가능성이 높은 오픈소스 입니다.
- 멱등성을 제공합니다.
● 멱등성(idempotent)이란 ?
연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 멱등성 이라고 합니다.
●Ansible 툴에서의 멱등성이란 ?
여러 번 ansible 툴을 사용하더라도 동일한 결과값을 나올 수 있도록 제공되는 형태여야 합니다.
매번 다른 결과가 나오거나 에러가 나온다면 비 멱등성하다고 할수 있습니다.
Ansible 툴의 거의 대부분의 모듈은 멱등성을 제공합니다. 또한 멱등성을 제공하기 위해서 조건절을 제공하고 있습니다.
예를 들면, 처음 ansible 스크립트를 실행후 다시 실행을 하면 상황에 따라서는 파일이 append가 될 수 있습니다.
그러나 멱등성의 원칙은 언제나 실행은 해도 결과가 동일하게 나옵니다. 또한 파일/디렉터리를 생성 또는 삭제하는 ‘create’ , ‘remove:’ 같은 ansible 모듈을 실행 할 때 ‘when;’ 조건절을 이용할수 있습니다. 대부분의 ansible 모듈이 멱등성을 보장한다는 의미는 상태를 파악할 수 있다는 의미를 가지게 됩니다.
Ansible Link |
반응형
'IT 이야기 > Ansible' 카테고리의 다른 글
[Ansible] Ansible의 핵심 Role 및 Variables (0) | 2020.06.07 |
---|---|
[Ansible] Playbook 개념, 구조, 실습 예 (0) | 2020.06.06 |
[Ansible] Ansible 실행 옵션 및 실행 예 (0) | 2020.06.05 |
[Ansible] Ansible 설치, 설정, 구성 (0) | 2020.06.05 |
[Ansible] Ansible의 기본 개념 (0) | 2020.04.14 |
댓글