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