Simple example to demonstrate variables in Ansible example.
This playbook is going to install HTTPD and Firewalld package.
There are two plays - first one will run on client node (node11) and the second one will run on master node (controller)
# Copy from here:
---
# First play
- name: Install apache and start the service
hosts: node11 ## hosts is the MUST to include key word in playbook to define target servers. It can be single server or group from Ansible inventory.
vars: ## vars is the key word to define vaiables in playbook
web_package: httpd
firewall_package: firewalld
web_service: httpd
firewall_service: firewalld
firewall_port: http
webpage: "This is test page created by Ansible playbook"
tasks: ## tasks is the MUST to include key word in playbook to list down tasks.
- name: Install web server package
yum:
name: "{{ web_package }}"
state: latest
- name: Install firewall package
yum:
name: "{{ firewall_package }}"
state: latest
- name: Start web service
service:
name: "{{ web_service }}"
state: started
enabled: yes
- name: Start "{{ firewall_service }}" service
service:
name: "{{ firewall_service }}"
state: started
enabled: yes
- name: Allow web service in fiewall
firewalld:
service: "{{ firewall_port }}"
permanent: true
state: enabled
immediate: yes
- name: Create test web page
copy:
content: "{{ webpage }}"
dest: /var/www/html/index.html
# Second play
- name: Verify that web page is accessible from outside
hosts: controller
tasks:
- name: Try to access the test web page
uri:
url: http://node11.example.com
status_code: 200
...
No comments:
Post a Comment