본문 바로가기

devops/ansible

Ansible 기초

Ansible 공식 사이트

Ansible 공식 커뮤니티 사이트

Ansible 커뮤니티 사이트는 사용자와 개발자가 경험을 공유하고, 질문을 하며, 최신 소식을 얻을 수 있는 곳입니다.

Ansible 공식 문서 사이트

Ansible의 공식 문서 사이트에서는 Ansible의 설치, 설정, 모듈, 플레이북 작성 방법 등에 대한 상세한 가이드를 제공합니다.

Ansible 기초

Ansible은 강력하고 간단한 IT 자동화 도구입니다. 이 글에서는 Ansible의 주요 개념과 구성 요소를 살펴보겠습니다.

제어노드 (Control Node)

제어노드는 Ansible을 설치하고 실행하는 시스템입니다. 여기에서 Ansible 명령이나 플레이북을 실행하여 관리노드에 작업을 지시합니다.

제어노드 설치 방법

sudo apt update
sudo apt install ansible
ansible --version

관리노드 (Managed Nodes)

관리노드는 제어노드에 의해 관리되는 서버입니다. Ansible은 SSH를 통해 관리노드와 통신합니다.

SSH 키 생성 및 복사 방법

ssh-keygen
ssh-copy-id user@managed-node-ip

인벤토리 (Inventory)

인벤토리는 Ansible이 관리하는 호스트의 목록입니다. 이 파일에는 관리노드의 IP 주소나 도메인 이름이 포함됩니다.

인벤토리 파일 예제

[webserver]
192.168.1.101
192.168.1.102

[database]
db.example.com

모듈 (Modules)

모듈은 Ansible이 관리노드에서 실행할 수 있는 작업입니다. 예를 들어, 패키지 설치, 서비스 관리 등이 있습니다.

Apache 설치 모듈 예제

- name: Install Apache
  apt:
    name: apache2
    state: present

플러그인 (Plugins)

플러그인은 Ansible의 기능을 확장합니다. 여기에는 콜백 플러그인, 연결 플러그인 등이 포함됩니다.

메일 플러그인 설정 예제

callback_whitelist = mail
callback_mail_to = admin@example.com

플레이북 (Playbooks)

플레이북은 Ansible 작업의 순서를 정의한 YAML 파일입니다. 이 파일을 통해 여러 모듈을 조합하여 복잡한 작업을 자동화할 수 있습니다.

웹서버 설정 플레이북 예제

---
- hosts: webserver
  tasks:
    - name: Install Apache
      apt:
        name: apache2
        state: present

    - name: Copy index.html
      copy:
        src: /files/index.html
        dest: /var/www/html/index.html

'devops > ansible' 카테고리의 다른 글

macOS에서 Ansible 설치하기  (0) 2024.01.19
OS별 앤서블(Ansible) 설치하는 방법  (0) 2024.01.19