Ansible playbookの基本的なフォーマットのサンプル

環境
RHEL8.6
Playbook

概要
「hosts:」で対象とするホストもしくはグループを指定し、そのホストに対して実行する
playbook.yml
形式

hosts: <対象とするホスト/グループ>
 var:
   <変数名1>: <値>
   <変数名2>: <値>
     :
     :
 remote_user: <処理を実行するユーザー名>
 sudo: yes
 tasks:
   <タスク1>
   <タスク2>
     :
     :
 handlers:
   <ハンドラ1>
   <ハンドラ2>

操作例

---
- name: webサーバ更新
  hosts: webservers
  remote_user: root

  tasks:
  - name: Apache が最新バージョンであることを確認する
    ansible.builtin.yum:
      name: httpd
      state: latest

  - name: Apache設定ファイルを書き込む
    ansible.builtin.template:
      src: /srv/httpd.j2
      dest: /etc/httpd.conf

- name: Update db servers
  hosts: databases
  remote_user: root

  tasks:
  - name: postgresqlが最新バージョンであることを確認
    ansible.builtin.yum:
      name: postgresql
      state: latest

  - name: postgresqlが起動していることを確認
    ansible.builtin.service:
      name: postgresql
      state: started

 

Ansible

Posted by arkgame