운영 Ansible - 용어집 - 2
페이지 정보
본문
1. Ansible 용어 설명
이 게시글에서는 Ansible 용어에 대한 문서를 살펴보고, 예시만 안내드리는 글입니다. Ansible은 여러 시스템을 효율적으로 관리할 수 있는 도구로, 용어들을 이해하는 것이 필수적입니다. 시니어 OS 엔지니어로서 Ansible 용어들을 숙지하면 인프라 관리에 큰 도움이 됩니다.
1.1 실행기(Executor)
Ansible에서 실행기는 각 태스크를 실행하는 핵심 구성 요소로, /usr/bin/ansible과 직접 연결되어 있습니다. 이는 Ansible의 핵심 부분 중 하나이며, 사용자가 태스크를 관리할 때 자주 언급됩니다.
1.2 필터 플러그인(Filter Plugin)
필터 플러그인은 Jinja2 템플릿에서 사용되는 플러그인으로, 대부분의 사용자에게는 깊게 알 필요가 없는 부분입니다. 하지만 새로운 필터를 생성하려면 Jinja2 필터에 대한 이해가 필요합니다.
1.3 포크(Forks)
Ansible은 여러 시스템과 병렬로 작업을 처리하는데, 병렬 처리의 수는 --forks 옵션을 통해 조절할 수 있습니다. 기본값을 변경하면 처리 속도에 큰 영향을 줄 수 있어 적절한 설정이 중요합니다.
터미널 명령:
```bash
ansible-playbook site.yml --forks 10
```
해당 명령을 실행할 시 10개의 호스트에 병렬로 태스크가 실행됩니다.
1.4 사실 수집(Gather Facts)
사실 수집은 Ansible이 원격 호스트의 정보를 자동으로 수집하는 과정입니다. 하지만 상황에 따라 이를 건너뛰고 싶다면, 플레이북에서 gather_facts: False로 설정할 수 있습니다.
터미널 명령:
```bash
ansible-playbook site.yml --extra-vars "gather_facts=False"
```
해당 명령을 실행하면 사실 수집 없이 플레이북이 실행됩니다.
1.5 글로빙(Globbing)
글로빙은 호스트 이름에 와일드카드를 사용하여 여러 호스트를 선택하는 방법입니다. 이를 통해 쉽게 많은 호스트를 한 번에 관리할 수 있습니다.
터미널 명령:
```bash
ansible "www*" -m ping
```
해당 명령을 실행할 시, 'www'로 시작하는 모든 호스트에 ping 테스트를 수행합니다.
1.6 그룹(Group)
그룹은 여러 호스트를 묶어 함께 관리할 수 있는 단위입니다. 특정 호스트들에게 공통 변수를 할당할 때 그룹을 활용하면 편리합니다.
1.7 그룹 변수(Group Vars)
그룹 변수는 특정 그룹에 변수를 할당하는 방식으로, 여러 호스트에서 공통 변수를 효율적으로 사용할 수 있게 해줍니다.
1.8 호스트(Host)
호스트는 Ansible이 관리하는 원격 머신을 의미하며, 각 호스트는 고유한 변수를 가질 수 있습니다. 그룹으로 묶여 관리될 수도 있습니다.
1.9 호스트 지정자(Host Specifier)
Ansible에서 `hosts:` 지시문은 플레이가 적용될 시스템을 지정하는 데 사용됩니다. 여러 호스트를 특정할 때 매우 유용한 기능입니다.
1.10 호스트 변수(Host Vars)
호스트 변수는 각 호스트에 개별적으로 할당할 수 있는 변수를 말하며, 인벤토리 파일에서 정의할 수 있습니다.
1.11 멱등성(Idempotency)
Ansible의 중요한 특성 중 하나인 멱등성은 동일한 작업을 여러 번 실행하더라도 그 결과가 변하지 않는 것을 의미합니다. 이 특성 덕분에 시스템이 예상대로 유지됩니다.
1.12 인클루드(Includes)
인클루드는 플레이북에서 다른 태스크 목록을 불러오는 기능입니다. 이를 통해 코드의 재사용성과 가독성을 높일 수 있습니다.
1.13 인벤토리 스크립트(Inventory Script)
외부 리소스에서 호스트 정보를 검색하는 프로그램입니다. 이를 통해 동적 인벤토리를 사용할 수 있습니다.
1.14 Jinja2
Jinja2는 Ansible에서 가장 많이 사용되는 템플릿 언어로, 파일 내 변수 치환에 매우 유용합니다.
1.15 JSON
Ansible은 JSON 형식을 사용하여 모듈의 출력 데이터를 처리합니다. 이는 시스템 간 데이터 전달에 적합한 방식입니다.
1.16 지연 평가(Lazy Evaluation)
Ansible은 플레이북 내에서 변수를 가능한 한 마지막 순간에 평가하는 방식으로 동작합니다. 이는 플레이북이 동적으로 변수를 처리하는 데 도움을 줍니다.
1.17 라이브러리(Library)
라이브러리는 Ansible에서 사용할 수 있는 모듈들의 집합을 의미합니다. 다양한 모듈을 통해 시스템 관리가 용이해집니다.
1.18 제한 그룹(Limit Groups)
특정 그룹으로 플레이북 실행을 제한하여, 필요한 시스템에만 태스크를 적용할 수 있습니다.
1.19 로컬 작업(Local Action)
Ansible에서는 원격 시스템이 아닌 로컬 시스템에서 작업을 수행할 수 있습니다. 이때 `local_action` 지시문을 사용합니다.
1.20 로컬 연결(Local Connection)
로컬 호스트에서 실행할 때는 connection: local을 사용하여 로컬 연결을 설정할 수 있습니다.
1.21 조회 플러그인(Lookup Plugin)
외부 데이터 소스에서 Ansible로 데이터를 가져오는 플러그인입니다. 주로 동적 변수 처리에 사용됩니다.
1.22 반복(Loops)
Ansible에서는 태스크를 여러 항목에 대해 반복 실행할 수 있으며, 이를 통해 코드의 간결성을 유지할 수 있습니다.
1.23 멀티 티어(Multi-Tier)
IT 시스템이 단일 시스템이 아니라 여러 시스템 간의 상호작용을 통해 관리되는 것을 멀티 티어라고 합니다. Ansible은 이러한 시스템에서도 효과적으로 작동합니다.
1.24 알림(Notify)
태스크가 완료되면 핸들러에 알림을 보내 특정 작업을 수행할 수 있습니다. 예를 들어, 서비스 재시작을 핸들러로 설정할 수 있습니다.
1.25 오케스트레이션(Orchestration)
여러 시스템 간의 작업을 체계적으로 관리하는 것이 오케스트레이션입니다. Ansible은 이를 통해 다수의 시스템을 효율적으로 제어할 수 있습니다.
1.26 플레이북(Playbooks)
Ansible의 플레이북은 시스템 오케스트레이션, 구성, 배포 작업을 자동화하는 데 사용됩니다. YAML 형식으로 작성되며, 직관적이고 가독성이 높습니다.
터미널 명령:
```bash
ansible-playbook /path/to/playbook.yml
```
해당 명령을 실행하면 플레이북에 정의된 태스크가 순서대로 실행됩니다.
Ansible 용어에 대해 이해하면, 복잡한 인프라 환경에서도 효과적으로 시스템을 관리할 수 있습니다. 각 용어의 특성을 잘 파악하여 Ansible을 효율적으로 활용하시길 바랍니다.
관련링크
- 이전글Ansible - 출력 로깅 24.09.20
- 다음글Ansible - 용어집 - 1 24.09.13
댓글목록
등록된 댓글이 없습니다.