Ansible ansible-playbook コマンドでプレイブックを実行する
環境
RHEL8.6
概要
playbook 実行するプレイブックファイルを指定する
-i インベントリーファイルを指定する
–list-tasks プレイブックを実行せず、実行対象のタスクの一覧 ( タスク名、設定したタグ 等 ) を表示する
-t –tags
指定したタグを設定したタスクを実行する
–skip-tags
指定したタグを設定したタスクを除いて実行する
操作例
1.apache_setup.yml
- name: Install Apache.
hosts: testserver
become: yes
gather_facts: no
vars:
apache_package_name: httpd
apache_service_name: httpd.service
tasks:
- name: httpdパッケージのインストール
ansible.builtin.yum:
name: "{{ apache_package_name }}"
state: present
notify:
- start apache service
- name: Install the firewalld package.
ansible.builtin.yum:
name: firewalld
state: present
- name: Start "firewalld.service".
ansible.builtin.systemd:
name: firewalld.service
enabled: yes
state: started
handlers:
- name: ポート番号を変更
ansible.builtin.lineinfile:
path: /etc/httpd/conf/httpd.conf
regexp: "^Listen "
line: "Listen 8080"
validate: httpd -t -f %s
listen:
- start apache service
- name: Start "httpd.service".
ansible.builtin.systemd:
name: "{{ apache_service_name }}"
enabled: yes
state: started
listen:
- start apache service
2.hosts.yml
---
all:
hosts:
kkk:
children:
web:
hosts:
testserver:
cft:
実行結果
$ ansible-playbook -i hosts.yml apache_setup.yml