Ansible - 로컬로 모듈 및 플러그인 추가 > Ansible 자료실

본문 바로가기

사이트 내 전체검색

뒤로가기 Ansible 자료실

실습 Ansible - 로컬로 모듈 및 플러그인 추가

페이지 정보

작성자 snow 작성일 24-10-08 09:39 조회 94 댓글 0

본문

이 게시글에서는 Ansible 로컬로 모듈 및 플러그인 추가에 대한 문서를 살펴보고, 예시만 안내드리는 글입니다.


1. 로컬 모듈 및 플러그인 추가 개요

Ansible에서 로컬로 모듈이나 플러그인을 추가하는 방법은 Ansible의 기능을 확장하는 가장 쉬운 방법 중 하나입니다. 로컬 모듈이나 플러그인은 제어 노드에 저장하여 팀 또는 조직 내에서 사용할 수 있습니다. 또한, 역할에 포함시켜 Ansible Galaxy에 공유할 수도 있습니다. 특히, Galaxy에서 역할을 사용할 때 이미 로컬 모듈이나 플러그인을 사용하고 있을 가능성이 큽니다.


1.1. 로컬 모듈 및 플러그인을 사용하는 장점

로컬 모듈 및 플러그인을 사용하면 다음과 같은 장점이 있습니다:

  • 다른 사람의 모듈이나 플러그인을 복사하여 쉽게 사용할 수 있습니다.
  • 새로운 모듈을 작성할 때, 원하는 프로그래밍 언어를 사용할 수 있습니다.
  • Ansible의 메인 레포지토리를 클론할 필요가 없습니다.
  • 풀 리퀘스트를 열지 않아도 됩니다.
  • 테스트를 추가할 필요는 없지만, 추가하는 것을 권장합니다.

2. 모듈과 플러그인의 차이점

Ansible에서 로컬 기능을 추가할 때, 모듈이 필요한지 플러그인이 필요한지 헷갈릴 수 있습니다. 다음은 그 차이점입니다:

  • 모듈은 Ansible API, ansible 명령, 또는 ansible-playbook 명령에서 사용할 수 있는 독립적인 스크립트입니다. 모듈은 인수를 받아 JSON 문자열을 출력하여 Ansible에 정보를 반환합니다. 주로 원격 시스템에서 실행됩니다.
  • 플러그인은 Ansible의 핵심 기능을 확장하고 제어 노드에서 실행됩니다. 데이터 변환, 로그 출력, 인벤토리 연결 등 다양한 옵션을 제공합니다.

3. 로컬 모듈 추가

Ansible은 특정 디렉토리에 있는 실행 파일을 자동으로 모듈로 로드합니다. 로컬 모듈을 추가하려면 아래 위치 중 하나에 모듈 파일을 저장하면 됩니다:

  • ANSIBLE_LIBRARY 환경 변수에 추가된 디렉토리
  • ~/.ansible/plugins/modules/
  • /usr/share/ansible/plugins/modules/

모듈 파일을 이 위치들에 저장하면, Ansible은 이를 자동으로 로드하고 사용할 수 있게 됩니다.


3.1. 로컬 모듈 확인 방법

다음 명령을 사용하여 로컬 모듈이 제대로 등록되었는지 확인할 수 있습니다:

```bash

ansible-doc -t module my_custom_module

```

위 명령을 실행하면 my_custom_module 모듈에 대한 문서가 출력됩니다.


3.2. 특정 플레이북에서만 로컬 모듈 사용하기

특정 플레이북에서만 로컬 모듈을 사용하려면, 해당 모듈을 플레이북이 위치한 디렉토리 안의 library 하위 디렉토리에 저장하면 됩니다.


3.3. 특정 역할에서만 로컬 모듈 사용하기

특정 역할에서만 로컬 모듈을 사용하려면, 해당 역할의 library 하위 디렉토리에 모듈을 저장하면 됩니다.


4. 로컬 플러그인 추가

Ansible은 각 유형별 플러그인을 자동으로 로드합니다. 각 플러그인은 해당 유형의 디렉토리에서 로드됩니다. 플러그인을 추가할 수 있는 디렉토리는 다음과 같습니다:

  • 해당 유형의 ANSIBLE_plugin_type_PLUGINS 환경 변수에 추가된 디렉토리
  • ~/.ansible/plugins/{plugin_type}
  • /usr/share/ansible/plugins/{plugin_type}

4.1. 로컬 플러그인 확인 방법

다음 명령을 사용하여 로컬 플러그인이 제대로 등록되었는지 확인할 수 있습니다:

```bash

ansible-doc -t lookup my_custom_lookup_plugin

```

위 명령을 실행하면 my_custom_lookup_plugin 플러그인에 대한 문서가 출력됩니다.


4.2. 특정 플레이북에서만 로컬 플러그인 사용하기

특정 플레이북에서만 로컬 플러그인을 사용하려면, 해당 플러그인을 플레이북이 위치한 디렉토리 내의 플러그인 유형에 맞는 하위 디렉토리에 저장하면 됩니다.


4.3. 특정 역할에서만 로컬 플러그인 사용하기

특정 역할에서만 로컬 플러그인을 사용하려면, 해당 역할의 플러그인 유형에 맞는 하위 디렉토리에 플러그인을 저장하면 됩니다.

댓글목록 0

등록된 댓글이 없습니다.

Copyright © 소유하신 도메인. All rights reserved.

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

PC 버전으로 보기