앤서블의 핵심은 코드실행의 멱등성을 갖추고 있다는 점에 있다.
멱등성이란 여러번 ansible 툴을 사용하더라도 동일한 결과값을 나올 수 있도록 제공되는 형태여야 한다. 즉 매번 다른 결과가 나오거나 에러가 나온다면 비멱등성(non-idempotent) 하다고 할 수 있다. ansible 툴의 거의 대부분의 모듈은 멱등성을 제공한다. 또한 멱등성을 제공하기 위해서는 조건절을 제공하고 있다.
출처: https://knight76.tistory.com/entry/ansible-멱등성idempotent-용어-이해하기 [김용환 블로그(2004-2020)]
즉 중복실행을 하더라도, make directory 같은 shell 명령어는 2번 입력 시 에러를 발생시키는데, 이러한 에러등이 작업에 영향을
미치지 않게끔 앤서블에서는 1번 실행된 명령어라면, 그 상태를 비교해서 실행되지 않게끔 조절해 준다는 것이다.
앤서블의 모듈은 총 69개의 builtin 모듈이 있는데 그중에서 자동화 프로젝트에서 자주 사용하였던 모듈들을 위주로
포스팅 할 예정이다.
1. yum repository 등록
- name: Add repository
yum_repository:
name: epel
description: EPEL YUM repo
baseurl: https://download.fedoraproject.org/pub/epel/$releasever/$basearch/
이 명령어를 실행하게 되면
cd /etc/yum.repos.d/ 폴더안에
epel.repo 파일안에 echo 입력 해줍니다.
두가지 파일안에 레포 등록을 해줍니다.
yum_repository 모듈은 redhat repository 등록을 해주는 모듈입니다.
주요 옵션은 다음과 같습니다.
- name
- description
- baseurl
- enabled: no
- gpgcheck: no
'DevOps > Ansible' 카테고리의 다른 글
[Ansible] 9. ansible Module (systemd, service) (0) | 2021.07.27 |
---|---|
[Ansible] 8. Ansible 구조에 대한 표준 가이드 (0) | 2021.07.26 |
[Ansible] 7. ansible Module (텍스트 수정) (0) | 2021.07.20 |
[Ansible] 5. mariadb 바이너리 설치 (0) | 2021.07.09 |
[Ansible] 4. vRealize Automation 연동 (0) | 2021.07.01 |