
기존 엔서블 모듈로, 연결된 서버에 작업을 했다면, 미리 사용자가 원하는 행동을 작성해놓은 파일을 Ansible Playbook 이라고 한다

name : 플레이북 이름 정의
hosts : 적용시키고자 하는 그룹 이름
task : hosts에 적어둔 타겟에 어떤 내용을 적용할지, 여러가지 작업 가능
name : 작업 이름
blockinfile : 실질적인 작업 추가
path : 어떤 파일에 추가할지
block : | 꼭 작성해줘야함, 하단 2줄 추가할것


명령어가 ansible-playbook, yml 파일 작성
---
- name: Add an ansible hosts
hosts: localhost
tasks:
- name: Add a ansible hosts
blockinfile:
path: /etc/ansible/hosts
block: |
[mygroup]
172.17.0.5
ansible 서버에서, vi first-playbook.yml 하고, 위 내용 작성
이후 ansible-playbook 명령어로 해당 야믈파을 실행



- name: Ansible Copy Example Local to Remtoe
hosts: devops
tasks:
- name: copying file with playbook
copy:
src: ~/sample.txt
dest: /tmp
owner: root
mode: 0644
이 엔서블 플레이북이 있는 디렉토리에 sample.txt 있어야한다

hosts에 있는 devops들에게만 파일 복사가 잘 완료 되었다고 한다
엔서블 서버
도커 서버
=> 모두 sample.txt 잘 복사 되었다
---
---
- name: Download Tomcat9 from tomcat.apache.org
hosts: devops
#become: yes
# become_user: root
tasks:
- name: Create a Directory /opt/tomcat9
file:
path: /opt/tomcat9
state: directory
mode: 0755
- name: Download the Tomcat checksum
get_url:
url: https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz.sha512
dest: /opt/tomcat9/apache-tomcat-9.0.98.tar.gz.sha512
- name: Register the checksum value
shell: cat /opt/tomcat9/apache-tomcat-9.0.98.tar.gz.sha512 | grep apache-tomcat-9.0.98.tar.gz | awk '{ print $1 }'
register: tomcat_checksum_value
- name: Download Tomcat using get_url
get_url:
url: https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz
dest: /opt/tomcat9
mode: 0755
checksum: sha512:{{ tomcat_checksum_value.stdout }}"
~
디렉토리 만들고, checksum 레지스터하고, tomcat tar파일 다운

