2021년 12월 21일 화요일

[ Ansible ] 설치 및 실행

/etc/sudoers 에 nopasswd 계정 추가 


앤서블 설치

$ yum install ansible -y


앤서블에서 사용 가능한 명령어 확인

$ ls /usr/bin/ansible*


노드들 주소 추가

$ vi /etc/ansible/hosts
(추가)
192.1.1.1
192.1.1.2
192.1.1.3


known_hosts_key 값 입력 받음

$ ansible all -m ping
(yes를 노드수만큼 입력)
....
Are you sure you want to continue connecting (yes/no)? yes


정상적으로 노드들에게 명령 전달 확인

$ ansible all -m ping -k
SSH password : (노드 비밀번호 입력)



앤서블 명령어 옵션

-m : 모듈선택 

  • 쉘모듈 : ansible all -m shell -a "df -h" -k 
  • yum모듈 : ansible all -m yum -a "name=httpd state=present" -k (삭제 : state=absent)

-k : 비밀번호 입력

  • --list-hosts : 적용 노드들 확인 ( ansible all -m ping -k --list-hosts )



앤서블 참조파일

/etc/ansible/ansible.cfg

/etc/ansible/hosts



플레이북

보통앤서블은 플레이북으로 노드들을 관리합니다.

nginx_install.yml 파일 작성

---
- name: Install nginx on linux
  hosts: nginx
  gather_facts : no

  tasks : 
    - name: install epel-release
      yum: name=epel-release state=latest
    - name: install nginx web server
      yum: name=nginx state=present
    - name: start nginx web server
      service: name=nginx state=started

플레이북 실행

$ ansible-playbook nginx_install.yml -k





앤서블 기본 개념 참조글 :

https://blog.naver.com/alice_k106/221333208746

https://engineering.linecorp.com/ko/blog/ansible-awx-for-provisioning-1/


앤서블 공식사이트 : 

https://docs.ansible.com/ansible_community.html


남들이 짠 앤서블 플레이북 코드 : 

https://galaxy.ansible.com/crivetimihai/development

댓글 없음:

댓글 쓰기