Ansible

Ansible 설치 및 실행

김모우 2020. 10. 30. 20:04
728x90
반응형

** OS 환경: ubuntu 16.04

 

1. Ansible Repository 추가

 

# apt-add-repository ppa:ansible/ansible

 

 

2. APT Update 실행

 

# apt-update

 

 

 

3. Ansible 패키지 설치

: 의존성 파일들이 설치되며 설치가 진행 된다.

 

# apt-get install -y ansible

 

4. 설치 확인

 

# ansible --version

 

 

 

5. Hosts 파일에 관리할 서버 추가

: Ansible을 통해서 관리를 할 서버를 명시하면 Inventory 파일이라고도 한다.

: Ansible 패키지 설치 시 자동적으로 /etc/ansible 경로 밑에 파일이 생성이 된다.

* 계정 정보나, 보안 측면의 관리가 필요한 내용이 hosts에 들어가는 경우

: ansible edit /etc/ansible/hosts 명령어로 hosts 파일을 암호화 하여 사용할 수도 있다.

 

vim /etc/ansible/hosts
## 작성 예시 

[linux]
op-test-01 ansible_host=10.10.10.1
op-test-02 ansible_host=10.10.10.2

[linux:var]
ansible_python_interpreter=/usr/bin/python3
ansible_user=[계정 명]
ansible_password=[암호]

# 구 버전의 OS 사용할 경우 python3 설치가 되어 있지 않은 경우도 있어 직접 설치 진행하거나
# 아래와 같이 구 python 버전과 매칭 시켜준다. 개인적으로 알기로 python 2.6 버전까지 지원
#ansible_python_interpreter=/usr/bin/python

 

6. Roles 생성

: Ansible Playbook에서 실행할 Role을 생성해주는 작업

: 각 Directory 별 기능

: tasks - 해당 role에서 수행할 task 목록 / 맨 처음으로 main.yml 파일이 먼저 실행된다.

: meta - met 디렉토리의 main.yml 파일은 tasks들의 메타정보를 정의

: files - 서버에 복사해야할 파일이나 스크립트를 보관

: templates - 템플릿 형태로 사용할 파일들을 담아둔다

: handlers: linux의 Service들을 처리하기 위해 사용

: defaults: ansible에서 동작하는 기본 변수 정의

: vars: 작업 수행 시 사용할 변수 정의

* OS Version이나, 환경에 따라 유기적으로 변경이 필요한 파일을 xml, jinja2 형태로 작성하여 저장

 

#ansible-galaxy init /etc/ansible/roles/[생성할 role 이름]
- Role [생성할 role 이름] was created successfully

#ls -R [role 이름]

위와 같은 파일 구조로 생성됨

#tree
- tree package 설치가 되있을 시 트리 구조로도 확인 가능하다.

 

7. Playbook 생성

: 생성한 Role을 실행할 Playbook 내용 작성

 

#mkdir /etc/ansible/playbooks
#vim /etc/ansible/playbooks/[생성한 role 이름].yml

---
- hosts: linux
  roles:
    - update-zabbix

 

8. Playbook 실행

 

#ansible-playbook /etc/ansible/playbooks/[role 이름].yml

 

다음 포스트에서 기본적인 Ansible Role 작성 방법과 실행까지 진행해보겠습니다.

728x90
반응형

'Ansible' 카테고리의 다른 글

Ansible Zabbix 운영  (0) 2021.04.29
Ansible Windows 서버 파일 배포  (2) 2021.01.30
Ansible 자주 쓰는 모듈 - 1  (0) 2020.10.31
Ansible task 생성 및 실행  (0) 2020.10.30
Ansible 기본 명령어  (0) 2020.10.25