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

環境
RHEL8.6
Playbook

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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>

操作例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
---
- 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

 

Ansible

Posted by arkgame