ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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
Designed by Tistory.