본문 바로가기

Engineering/Ansible

[Ansible] 1. Ansible 시작하기

 

Ansible이란?

Ansible이란 오픈소스 IT 자동화 툴이다. Provisioning, 환경설정, Application 배포 등을 모듈과 명령어를 통해 여러서버에 동시에 적용할 수 있는 자동화 엔진이다.


Ansible의 특징

1. Agentless

관리 대상 서버에 별도의 Agent 없이, SSH로 접속하여 관리가 가능하다.

 

2. 멱등성

동일한 운영작업을 여러번 실행해도, 그 결과가 변하지 않는다.

 

3. 편리성

앤서블은 비교적 간단한 구조로 구성되어 있어서 자동화 절차 및 과정을 이해하기 쉽다. 또 다양한 모듈을 제공하고 있어서 필요한 기능을 찾아 효율적으로 운영할 수 있다.

 

모듈 리스트: https://docs.ansible.com/ansible/2.9/modules/modules_by_category.html#modules-by-category

 

Module Index — Ansible Documentation

Docs » User Guide » Working With Modules » Module Index © Copyright 2019 Red Hat, Inc. Last updated on May 27, 2022.

docs.ansible.com

 


Ansible Architecture

 

 

제어 노드
(Control node)
앤서블이 설치되는 노드로, 운영체제가 리눅스여야하며, python이 함께 설치되어 있어야 함. 
관리 노드
(Managed node)
앤서블이 원격으로 제어하게 될 대상 노드. SSH 통신이 가능해야하며, python이 설치되어 있어야 함.
Inventory 제어노드가 관리할 관리노드의 목록이 나열된 파일
Module 작은 기능을 가진 소형 프로그램
Plugin 앤서블의 핵심기능에 대한 옵션 및 기능 확장을 제공함
Ansible Playbook 관리 노드에 수행할 작업들을 정의한 yaml 형식의 파일

Ansible Installation

 

1. epel repository 설치

$ yum install -y epel-release

 

Ansible을 설치하기 위해선 rhel 확장 repository인 epel repository 정보가 있어야 한다.

 

2. Ansible PKG 설치

$ yum install -y ansible

#설치 완료 후 버전 확인
$ ansible --version
ansible [core 2.16.3]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.12/site-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.12.3 (main, Jul  2 2024, 20:57:30) [GCC 8.5.0 20210514 (Red Hat 8.5.0-22)] (/usr/bin/python3.12)
  jinja version = 3.1.2
  libyaml = True

 

Ansible Controller 환경

  • ansible: 2.16.3
  • python: 3.12.3
  • jinja: 3.1.2

 

 

여기까지 완료되었으면 Ansible을 시작할 기본 설정이 완료되었다.

'Engineering > Ansible' 카테고리의 다른 글

[Ansible] 6. Ansible Vault  (0) 2024.08.29
[Ansible] 5. 변수  (1) 2024.08.28
[Ansible] 4. Playbook 살펴보기  (0) 2024.08.28
[Ansible] 3. Ansible.cfg, Generating SSH key  (0) 2024.08.26
[Ansible] 2. Ansible Inventory File  (0) 2024.08.21