본문 바로가기
DevOps

Ansible Playbooks

by 코딩+아빠 2023. 6. 27.
  • Inventory 에서 정의된 호스트에서 무엇을 해야할지를 정의한 것.
  • 자동화 절차를 기술한 코드 파일 코드 Set을 의미함. 
  • YAML 형식으로 기록
  • playbook의 목표는 호스트의 그룹을 정의된 Ansible내에서 테스크로 불리는 역할(Role)에 매핑해주는 것

-
    name: 'Execute two commands on localhost'
    hosts: web_node1
    tasks:
        - name: 'Execute a date command'
          command: date
            
        - name: 'Execute a command to display hosts file'
          command: 'cat /etc/hosts'

Play name 1개 + 그룹에 속한 hosts

-
    name: 'Execute two commands on web_node1'
    hosts: "web_node1,sql_db1"
    tasks:
        -
            name: 'Execute a date command'
            command: date
        -
            name: 'Execute a command to display hosts file'
            command: 'cat /etc/hosts'

 

Play name 2개 + hosts 2개

-
    name: 'Execute command to display date on web_node1'
    hosts: web_node1
    tasks:
        -
            name: 'Execute a date command'
            command: date
             
-
    name: 'Execute a command to display hosts file contents on web_node2'
    hosts: web_node2
    tasks:
        -
            name: 'Execute a command to display hosts file'
            command: 'cat /etc/hosts'

 

playbook 연습 - 연속적인 Task

-
    name: 'Stop the web services on web server nodes'
    hosts: web_nodes
    tasks:
        -
            name: 'Stop the web services on web server nodes'
            command: 'service httpd stop'

-
    hosts: db_nodes
    tasks:
        -
            name: 'Shutdown the database services on db server nodes'
            command: 'service mysql stop'
            
-
    hosts: all_nodes
    tasks:
        -
            name: 'Restart all servers (web and db) at once'
            command: '/sbin/shutdown -r'            
            
-
    hosts: db_nodes
    tasks:
        -
            name: 'Start the database services on db server nodes'
            command: 'service mysql start'      
            
-
    hosts: web_nodes
    tasks:
        -
            name: 'Start the web services on web server nodes'
            command: 'service httpd start'

 

반응형

'DevOps' 카테고리의 다른 글

AWS Summit Korea 2022- DevOpsGuru  (0) 2023.06.29
Chaos Engineering Solution 그렘린 workshop  (0) 2023.06.26
Chaos Engineering Tools  (0) 2023.06.26
DevOps or DevOoops!  (0) 2023.06.26