Ansible Playbook examples
Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
- Write a Ansible Playbook to create a group called “deploy”
- name: Create a group
hosts: group
tasks:
- name: Add group "deploy"
group:
name: deploy
state: present
2.Write a Ansible Playbook to create a user called “deploy-user” which is part of group called “deploy” and with /bin/bash shell.
- name: Create a user
hosts: user
tasks:
- name: Add user "deploy-user"
user:
name=deploy-user groups=deploy password="" shell=/bin/bash
append=yes
state=present
3. Write a Ansible Playbook to install package named “httpd” in RHEL/centos.
- name: To install an httpd webserver
hosts: web
tasks:
- name: Install httpd packages
yum:
name: httpd
state: present
4. Write a Ansible Playbook to start and enable the service named “httpd”
- name: To start and enable an httpd webserver
hosts: web
tasks
- name: start httpd
service:
name: httpd
state: started
- name: enable httpd
service:
name: httpd
enabled: yes
5. Write a Ansible Playbook to create a file called “index.html” in /var/www/html with some dummy html contents.
- name: creating a file
hosts: all
tasks:
- name: create a file index.html
file:
path: "/var/www/htmlindex.html"
state: touch
- name: adding contents to indexfile
blockinfile:
dest: /var/www/html/index.html
block: |
<html>
<h1> Welcome to HP Ansible class </h1>
</html>
6. Write a Ansible Playbook to reboot a self machine.
- name: rebooting self machine
hosts: web
task:
- name: Reboot a Linux machine
reboot:
reboot_timeout: 1800
7. Write a Ansible Playbook to install a package called “git”, “wget”.
- name: To install a package "git" and "wget"
hosts: web
tasks:
- name: Install git packages
yum:
name: git
state: present
- name: Install wget packages
yum:
name: wget
state: present
8. Write a Ansible Playbook to clone git repo. thttps://github.com/scmgalaxy/ansible-role-template
- name: Cloning git repo
hosts: web
environment:
http_proxy: 'http://web-proxy:8080'
https_proxy: 'http://web-proxy:8080'
tasks:
- name: cloning....
git:
repo=https://github.com/scmgalaxy/ansible-role-template
clone=yes
dest=./ansible-role-template