** 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 작성 방법과 실행까지 진행해보겠습니다.
'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 |