AnsibleでMaintenanceモード切り替え

ふだんdon.suwa3.meが不安定になって

Maintenanceモードに切り替えるとき手動で行っていたので

Ansibleの構成管理に組み込みました。

完成品こちらです

ファイルモジュールでシンボリックリンクの切り替えを設定

$ sudo ln -sf /etc/nginx/sites-available/don.suwa3.me-mainte /etc/nginx/sites-enabled/don.suwa3.me

↑普段切り替えに使っているコマンド

( 参照ドキュメントページ )

file – Manage files and file properties — Ansible Documentation

    - name: changed maintenance page 
      become: yes 
      file: 
          src: /etc/nginx/sites-available/don.suwa3.me-mainte 
          dest: /etc/nginx/sites-enabled/don.suwa3.me 
          state: link 

become: yesはsudo実行

Src:は、どこから

dest:は、どこへ

state:は、何を?ってかんじ


serviceモジュールでNginxのリロードを設定

 $ sudo service nginx reload 

↑普段リロードに使っているコマンド

( 参照ドキュメントページ )

service – Manage services — Ansible Documentation

    - name: Restart service httpd, in all cases 
      become: yes 
      service: 
          name: nginx.service 
          state: reloaded 

serviceモジュールでうまくいかなかったので

Ansible service module vs

でサジェクトされた systemdモジュールを使ってみることにしました。

vs!!!

( 参照ドキュメントページ )

systemd – Manage services — Ansible Documentation

    - name: Restart service httpd, in all cases 
      become: yes 
      systemd: 
          name: nginx.service 
          state: reloaded 

無事成功です!

この要領でNormal.yamlも作成し、動作確認して成功しました。

Ansibleは公式のドキュメントに例がたくさん載っているので

何のモジュールを使うべきか決まっている場合には

公式を見るのが早いなとおもいました。

あとはvsでサジェクトされたものも試してみると

案外うまく行く場合もあるのかもしれないとおもいました🙋‍♀️

GitHubのREADME.mdの画像もリニューアルしました!

https://github.com/suwa3/don.suwa3.me-ansible

コメントを残す