ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DevOps] Ansible Playbooks
    카테고리 없음 2019. 4. 21. 22:20

    Ansible 특징

    • 에이전트 설치가 없는 구조
      • 대상 서버에 에이전트를 설치하지 않고 직접 대상 호스트로 명령
    • 멱등성
      • 여러번 연산을 적용해도 결과가 같은 성질

    Ansible 설치

    • centOS 기준
    $ sudo yum install ansible

     

    플레이북 예제를 살펴보자.

    Playbook > Play > tasks

    ---
    - hosts: webservers
      vars:
        http_port: 80
        max_clients: 200
      remote_user: root
      tasks:
      - name: ensure apache is at the latest version
        yum:
          name: httpd
          state: latest
      - name: write the apache config file
        template:
          src: /srv/httpd.j2
          dest: /etc/httpd.conf
        notify:
        - restart apache
      - name: ensure apache is running
        service:
          name: httpd
          state: started
      handlers:
        - name: restart apache
          service:
            name: httpd
            state: restarted

    다음은 하나의 Playbook 안에 하나의 Play가 존재한다. 

    - hosts: webservers 이 하나의 Play이다.

    tasks: 아래에 task 목록이 위치한다.

    플레이북 실행

    $ ansible-playbook
    Usage: ansible-playbook [options] playbook.yml [playbook2 ...]

    옵션

    -i INVENTORY, --inventory=INVENTORY, --inventory-file=INVENTORY
    -l SUBSET, --limit=SUBSET
    -t TAGS, --tags=TAGS  only run plays and tasks tagged with these values

     

    댓글

Designed by Tistory.