ホーム > Ansible Tower・AWX リファレンス
Ansible Tower・AWXで、Linux機器を再起動・シャットダウン(停止)させる方法を解説します。
はじめに・環境
本記事では、Ansibleを使用して、Linux機器の再起動・シャットダウンさせる方法を説明します。
以下は、実行環境です。
- コントロールノード
- Ansible AWX 15.0.1
- ターゲットノード
- AlmaLinux release 9.0
リンク
再起動する方法
ここでは、Linux機器を再起動する方法を説明します。
サンプルプレイブック
Linux機器を再起動するサンプルプレイブックです。
---
- hosts: all
gather_facts: False
tasks:
- name: 疎通確認(再起動前)
ping:
- name: 再起動
reboot:
reboot_timeout: 300
become: yes
- name: 疎通確認(再起動後)
ping:
Linux機器を再起動する方法は様々な方法がありますが、
ここでは、Ansibleモジュールである「reboot」モジュールを使用しています。
rebootモジュールのパラメーターである「reboot_timeout」は、
再起動が完了し、接続出来るようになるまでの時間を定義します。
ここでは、300秒を設定していますが、再起動に時間が掛かりそうであれば、設定値を変更してみて下さい。
また、ターゲットノードが動作しているか確認するために、再起動前後で、pingを実行しています。
実行結果
サンプルの実行結果です。
Using /etc/ansible/ansible.cfg as config file
SSH password:
BECOME password[defaults to SSH password]:
PLAY [all] *********************************************************************
TASK [疎通確認(再起動前)] **************************************************************
ok: [STKPUB002] => {"changed": false, "ping": "pong"}
TASK [再起動] *********************************************************************
changed: [STKPUB002] => {"changed": true, "elapsed": 19, "rebooted": true}
TASK [疎通確認(再起動後)] **************************************************************
ok: [STKPUB002] => {"changed": false, "ping": "pong"}
PLAY RECAP *********************************************************************
STKPUB002 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
シャットダウンする方法
ここでは、Linux機器をシャットダウン(停止)する方法を説明します。
サンプルプレイブック
Linux機器をシャットダウンするサンプルプレイブックです。
---
- hosts: all
gather_facts: False
tasks:
- name: 疎通確認(シャットダウン前)
ping:
- name: シャットダウン
shell: systemctl poweroff
async: 5
poll: 0
become: yes
- name: シャットダウン待ち合わせ
pause:
seconds: 15
- name: 疎通確認(シャットダウン後)
shell: "ping -c 1 {{ ansible_ssh_host }}"
delegate_to: localhost
register: result
failed_when: result.rc == 0
Linux機器をシャットダウンさせる方法は様々なものがありますが、
ここでは「systemctl powerff」コマンドを実行しています。
ターゲットノードのOSによっては、コマンドを変更する必要があるかもしれません。
実行結果
サンプルの実行結果です。
SSH password:
BECOME password[defaults to SSH password]:
PLAY [all] *********************************************************************
TASK [疎通確認(シャットダウン前)] **********************************************************
ok: [STKPUB002]
TASK [シャットダウン] *****************************************************************
changed: [STKPUB002]
TASK [シャットダウン待ち合わせ] ************************************************************
Pausing for 15 seconds
(ctrl+C then 'C' = continue early, ctrl+C then 'A' = abort)\r
ok: [STKPUB002]
TASK [疎通確認(シャットダウン後)] **********************************************************
changed: [STKPUB002]
PLAY RECAP *********************************************************************
STKPUB002 : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
リンク
コメント