지난 페이지 호스트 명령 내리기에서 이어 진행하므로, 준비 내용물은 같다.(서버4대)
모든 서버 update 하기
/home/ec2-user/.ssh/test/playbook
경로로 svc_update.yml 파일을 만들어준다.
(command 창 명령어로는 sudo yum update)
---
- name: all server update
hosts: all
tasks:
- name: upgrade all packages
yum:
name: '*'
state: latest
이후 명령어로 playbook을 실행시켰다.
그러나 서버들이 전부 update가 이미 된 상태라 진행되지 않는다.
$ ansible-playbook svc_update.yml
Ansible 파일을 복사해서 host 서버에 저장
cwCool.txt 이라는 이름의 텍스트 파일을 만들어 내용을 입력했다.
ansible 서버에 존재하는 cwCool.txt의 경로는 /home/ec2-user/.ssh/test/cwCool.txt 이고,
host 서버에 저장할 위치는 /home/ec2-user/cwCool.txt 이다.
cp_file.yml 파일 내용을 작성했다.
---
# copy ansible file to host server
- hosts: all
remote_user: ec2-user
tasks:
- name: copy file to host server
copy:
src: /home/ec2-user/.ssh/test/cwCool.txt
dest: /home/ec2-user/cwCool.txt
backup: yes
host 서버로의 복사가 성공적으로 완료되었다.
host 서버에 들어가서 확인하면 잘 복사 되었음을 확인할 수 있다.
내용도 확인할 수 있다.
cwCool.txt 내용을 수정하고 다시 ansible 서버에서 ansible-playbook cp_file.yml 명령어를 입력하였다.
이후 host 파일을 확인해보면 파일이 2개가 되어 있음을 확인할 수 있다.
cwCool.txt에는 마지막으로 변경된 내용이 들어있고,
cwCool.txt.1140…
~
에는 첫 번째 파일을 만들었을때 날짜와 시간, 그리고 내용을 볼 수 있다.
모든 서버 shutdown 하기
명령어를 치는 ansible 서버를 제외한 모든 서버를 shutdown을 진행해 보겠다.
다음과 같이 svc_stop.yml 이라는 이름으로 playbook을 생성하였다.
---
# stop server
- hosts: all
become: yes
tasks:
- name: server shutdown
command: /sbin/shutdown -h now
ansible-playbook svc_stop.yml
명령어를 입력해서 실행시켜주었다.
외부에 있는 ubuntu를 제외한 인스턴스가 종료되었다.
'IaC > Ansible_앤서블' 카테고리의 다른 글
[Ansible] When 조건문 트리구조 생성(includ_tasks) (0) | 2023.01.30 |
---|---|
[Ansible] When 조건문 (0) | 2023.01.25 |
[Ansible] 작업 제어 구현 - 오류처리 (0) | 2023.01.19 |
[Ansible] 앤서블(Ansible) 호스트 명령 내리기 (0) | 2023.01.12 |
[Ansible] 앤서블(Ansible) 개념과 설치/사용법 (2) | 2023.01.11 |