본문 바로가기

DevOps/Ansible

[Ansible] 6. ansible Module (yum repository)

 

 

 

 

앤서블의 핵심은 코드실행의 멱등성을 갖추고 있다는 점에 있다.

멱등성이란 여러번 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