Ansible - 용어집 - 1 > Ansible 자료실

본문 바로가기
사이트 내 전체검색

Ansible 자료실

운영 Ansible - 용어집 - 1

페이지 정보

profile_image
작성자 snow
댓글 0건 조회 52회 작성일 24-09-13 09:56

본문

1. Ansible 용어 설명

이 게시글에서는 Ansible 용어에 대한 문서를 살펴보고, 예시만 안내드리는 글입니다. Ansible은 많은 엔지니어가 인프라 자동화를 위해 사용하는 도구로, 다양한 용어들이 사용됩니다. 이를 명확하게 이해하고 적용하는 것이 중요하며, 특히 시니어 OS 엔지니어라면 이러한 용어들이 어떻게 사용되는지 알아두면 실무에서 많은 도움이 될 것입니다.


1.1 작업(Action)

Ansible에서 작업은 태스크의 일부분으로, 실행할 모듈과 그에 전달할 인수를 지정하는 것을 의미합니다. 한 태스크는 하나의 작업만 가질 수 있지만, 다른 매개변수를 포함할 수 있습니다.


1.2 Ad Hoc

ad hoc 명령은 /usr/bin/ansible 명령을 사용해 간단한 작업을 수행하는 것입니다. 이를 통해 여러 시스템에서 단일 명령을 빠르게 실행할 수 있습니다. 예를 들어, 50대의 컴퓨터를 한 번에 재부팅할 수 있습니다.

터미널 명령:

```bash

ansible all -m reboot

```

해당 명령을 실행할 시 모든 호스트를 대상으로 재부팅 작업을 실행할 수 있습니다.


1.3 비동기(Async)

비동기 태스크는 완료를 기다리지 않고 백그라운드에서 실행되도록 설정된 태스크입니다. 특히 긴 시간이 필요한 프로세스에 유용하며, Ansible에서는 몇 초마다 완료 여부를 확인하거나, 결과에 상관없이 다음 태스크로 넘어갈 수 있습니다.

터미널 명령:

```bash

ansible all -m shell -a "long_running_task" --async 3600 --poll 0

```

이 명령을 실행하면 비동기 방식으로 장시간 작업을 실행하며, 결과를 기다리지 않고 다음 작업을 처리할 수 있습니다.


1.4 콜백 플러그인(Callback Plugin)

콜백 플러그인은 Ansible의 결과를 가로채서 로깅하거나 알림을 보내는 등의 작업을 할 수 있도록 돕습니다. 이는 결과를 사용자 맞춤형으로 처리할 수 있는 중요한 기능입니다.


1.5 점검 모드(Check Mode)

점검 모드를 사용하면 Ansible이 시스템에 실제 변경을 가하지 않고도 변경될 내용을 미리 확인할 수 있습니다. 이는 환경에서 의도치 않은 변경을 방지하는데 유용하지만, 완전한 신뢰성을 제공하지는 않습니다.

터미널 명령:

```bash

ansible-playbook site.yml --check

```

해당 명령을 통해 시스템을 실제로 변경하지 않고, 어떤 변화가 일어날지 미리 점검할 수 있습니다.


1.6 연결 플러그인(Connection Plugin)

Ansible은 SSH를 통해 원격 시스템과 통신하며, 기본적으로 OpenSSH 또는 paramiko를 사용합니다. OpenSSH는 더 많은 기능을 제공하기 때문에 대부분의 경우 선호됩니다.


1.7 조건문(Conditionals)

조건문은 특정 태스크가 실행될지 여부를 결정하는 표현식입니다. 'when' 구문을 사용하여 특정 조건이 만족될 때만 태스크를 실행할 수 있습니다.

터미널 명령:

```bash

- name: 조건에 따라 태스크 실행

  when: ansible_facts['os_family'] == "RedHat"

```

이 예시는 시스템의 운영체제가 RedHat 계열일 때만 태스크를 실행하는 조건문을 설정하는 방법입니다.


1.8 선언적 방식(Declarative)

Ansible의 선언적 방식은 목표 상태를 설정하면 그에 맞는 작업이 자동으로 실행되는 방식입니다. 사용자는 각 단계를 세밀하게 설정할 필요 없이, 최종 상태만을 설정하면 됩니다.


1.9 차이 모드(Diff Mode)

차이 모드를 사용하면 파일이나 설정의 변경사항을 구체적으로 확인할 수 있습니다. 이는 변경 사항이 무엇인지 시각적으로 확인하는데 유용합니다.

터미널 명령:

```bash

ansible-playbook site.yml --diff

```

해당 명령을 실행할 시, 파일이나 설정의 변화된 부분을 비교하여 출력해 줍니다.


1.10 사실(Facts)

Ansible에서 사실은 원격 시스템의 상태를 자동으로 수집한 정보입니다. 이 정보를 바탕으로 조건문을 만들거나, 플레이북 내에서 유용하게 사용할 수 있습니다.

터미널 명령:

```bash

ansible all -m setup

```

해당 명령을 실행하면 관리 대상 시스템의 정보를 자동으로 수집할 수 있습니다.


1.11 핸들러(Handlers)

핸들러는 특정 조건이 충족될 때만 실행되는 태스크입니다. 예를 들어, 파일이 수정되었을 때 해당 핸들러를 통해 서비스를 재시작할 수 있습니다.

터미널 명령:

```bash

- name: 서비스 재시작

  notify: Restart service

```

파일이 변경되었을 때만 해당 핸들러가 호출되어 서비스를 재시작합니다.


1.12 모듈(Modules)

Ansible의 모듈은 원격 시스템에서 실행할 작업의 단위입니다. 모듈은 다양한 언어로 작성될 수 있으며, 시스템 설정, 파일 관리, 패키지 설치 등의 다양한 작업을 수행할 수 있습니다.


1.13 인벤토리(Inventory)

Ansible의 인벤토리 파일은 관리할 호스트와 그룹을 정의하는 파일입니다. 이를 통해 여러 서버를 효율적으로 관리할 수 있습니다.

터미널 명령:

```bash

ansible all -i /path/to/inventory -m ping

```

이 명령을 통해 인벤토리 파일을 사용하여 모든 호스트에 ping 명령을 전송할 수 있습니다.


1.14 플레이북(Playbook)

플레이북은 Ansible이 관리할 작업의 순서를 정의한 파일입니다. 이를 통해 여러 작업을 체계적으로 구성할 수 있습니다.

터미널 명령:

```bash

ansible-playbook /path/to/playbook.yml

```

해당 명령을 사용하면 플레이북에 정의된 순서대로 작업을 실행할 수 있습니다.

이와 같이 Ansible은 여러 시스템을 간단하고 효율적으로 관리할 수 있는 강력한 도구이며, 이를 위한 다양한 용어와 기능을 숙지하고 활용하는 것이 중요합니다. 실무에서 이러한 개념들을 적용함으로써 인프라 관리의 효율성을 높일 수 있습니다.

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

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

접속자집계

오늘
1,234
어제
1,264
최대
3,935
전체
1,014,982
Copyright © www.linuxdata.org All rights reserved.