[Ansible] 시스템 OS 재시작 하기
Ansible의 reboot 모듈을 사용하여 Managed node의 OS를 재시작 가능합니다.
Playbook 생성
Managed node의 OS를 재시작하는 Playbook을 작성해봅니다.
OS 재시작 후 600초 동안 재시작이 완료되었는지 test_command 인 whoami
명령어를 통해 확인하는 Playbook 입니다.
- name: Reboot web-server
reboot:
msg: "Reboot initiated by Ansible"
connect_timeout: 10
reboot_timeout: 600
pre_reboot_delay: 0
post_reboot_delay: 0
test_command: whoami
- connect_timeout: 연결 대기 시간, OS 종료 시 SSH 연결 끊기 위한 설정
- reboot_timeout: OS 재시작 후 최대 대기하는 시간
- pre_reboot_delay: OS 재시작 전 기다리는 시간
- post_reboot_delay: OS 재시작 후 명령어 입력 전 기다리는 시간
- test_command: OS 재시작 후 정상적으로 시스템이 실행되었는지 확인하는 명령어
Playbook 실행
작성한 yml 파일을 실행하여 로그를 확인해봅니다.
상세 로그를 확인하기 위해 ansible-playbook 명령어에 -vv
옵션을 추가하였습니다.
ansible-playbook -i {{Inventory}} test_work.yml -vv
TASK [test_work : Reboot web-server] ************************************
task path: /deploy/roles/test_work/tasks/main.yml:4
changed: [node0] => {"changed": true, "elapsed": 148, "rebooted": true}
META: role_complete for node0
META: ran handlers
META: ran handlers
상세 로그를 통해 148초만에 해당 Managed node의 OS가 재시작된 것을 확인하실 수 있습니다.
직접 해당 노드에 접속해서 OS 재시작 시간을 아래와 같이 확인하실 수 있습니다.
# last reboot
reboot system boot 3.10.0-1160.el7. Tue Mar 7 09:34 - 09:41 (3+00:07)
위 방법으로 Managed node의 OS 재시작 작업이 필요한 경우 사용하실 수 있습니다.
유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!
'Infrastructure As Code > Ansible' 카테고리의 다른 글
[Ansible] Yum 패키지 관리 (0) | 2023.05.19 |
---|---|
[Ansible] 도커 컨테이너 ID 가져오기 (0) | 2023.02.20 |