-
[Ansible] CentOS 7.x 설치 및 playbook 사용법 기초ansible 2020. 1. 29. 16:09
Ansible
앤서블이란 서버의 설정 및 관리 소프트웨어 배포, 다수의 서버구성에 대해 자동화를 구성하여 관리할 수 있는 도구입니다.
Ansible 사용조건
1. ssh 접속이 가능한 호스트라면 ansible 작업을 수행 가능
2. ansible을 운영할 서버에서 public ssh-key를 생성하여 client host로 전송해야한다.(안하면 계속 비밀번호 쳐야됨)
[root@manager ~] ssh-keygen
[root@manager ~] ssh-copy-id root@<host_ip>
Ansible 설치 및 Client 설정
[root@manager ~] yum install -y epel-release
[root@manager ~] yum install -y ansible
설치완료 되 었으면 /etc/ansible/hosts 파일에 Client host ip를 등록해야한다.(Inventory)
[root@manager ~] vim /etc/ansible/hosts
[test] client IP client IP
[root@manager ~] ansible all -m ping
위와같이 나오면 성공
Ansible Playbook을 통한 Nginx 설치
[root@manager ~] vim /etc/ansible/nginx.yml
---
- hosts: srlee
remote_user: root
tasks:
- name: Install nginx web server
yum: name=nginx state=latest
notify:
- restart nginx
handlers:
- name: restart nginx
service: name=nginx state=restarted해당 파일에 YAML문법으로 Playbook을 작성한다 Task, Handlers 를 작성한 것 이다.
위에 내용을 대략설명하면
hosts: Task를 실행할 Host, Host Group을 지정
remote_user: 클라이언트 서버에서 task를 실행할 유저를 지정
tasks: task를 지정
name: task의 이름을 지정
yum: 작업할 내용을 정의
notify: task작업이 완료된 후 수행할 액션을 handlers를 참조하여 수행
handlers name: task nofity에 작성된것과 맵핑됨
handlers service: task의 notify에 name과 동일한 내용이 있을 경우 작동
파일작성이 완료 되었으면 아래 명령어를 적용하여 playbook를 실행시키자
[root@manager ~] ansible-playbook nginx.yml -f 10
위와 같이 나오면 성공 173ㄷ은 nginx가 start가 안되었는데 로그도 그대로 나오니 확인해보자
'ansible' 카테고리의 다른 글
[Ansible] ad-hoc 기본 명령어 (0) 2020.01.29