Ansible playbookの基本的なフォーマットのサンプル
環境
RHEL8.6
Playbook
概要
「hosts:」で対象とするホストもしくはグループを指定し、そのホストに対して実行する
playbook.yml
形式
hosts: <対象とするホスト/グループ>
var:
<変数名1>: <値>
<変数名2>: <値>
:
:
remote_user: <処理を実行するユーザー名>
sudo: yes
tasks:
<タスク1>
<タスク2>
:
:
handlers:
<ハンドラ1>
<ハンドラ2>
hosts: <対象とするホスト/グループ>
var:
<変数名1>: <値>
<変数名2>: <値>
:
:
remote_user: <処理を実行するユーザー名>
sudo: yes
tasks:
<タスク1>
<タスク2>
:
:
handlers:
<ハンドラ1>
<ハンドラ2>
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
---
- 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
--- - 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