[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

+ Recent posts