TechWhale

Back

Automate Linux System Management with Ansible System RolesAutomate Linux System Management with Ansible System Roles

Ansible is an open-source automation tool that allows you to automate tasks across multiple servers. Ansible System Roles are pre-written Ansible playbooks that are designed to automate the installation, configuration, and management of specific services and applications on Linux systems.

By using Ansible System Roles, you can automate the deployment of various applications and services like Apache, MySQL, Nginx, PostgreSQL, and many more. In this guide, we will walk you through the steps to automate Linux systems with Ansible System Roles.

Prerequisites#

Before we start, you need to have Ansible installed on your system. You can install Ansible by running the following command:

sudo apt-get install ansible
bash

Step 1: Create a Playbook#

The first step in automating Linux systems with Ansible System Roles is to create a playbook. A playbook is a file that contains a set of instructions that Ansible will execute on your servers.

To create a playbook, create a file with a .yml extension and add the following code:

---
- name: Install Apache
  hosts: webservers
  become: true
  roles:
    - geerlingguy.apache
yaml

In the above code, we have specified the name of the playbook, the hosts on which the playbook will be executed, and the Ansible System Role that we want to use for installing Apache. In this case, we are using the geerlingguy.apache System Role.

Step 2: Define Hosts#

The next step is to define the hosts on which you want to execute the playbook. You can define hosts in the /etc/ansible/hosts file. Open the file with your favorite text editor and add the following code:

[webservers]
server1.example.com
server2.example.com
json

In the above code, we have defined a group of hosts with the name webservers and added two servers to the group.

Step 3: Execute the Playbook#

Now that we have created the playbook and defined the hosts, we can execute the playbook by running the following command:

ansible-playbook playbook.yml
bash

In the above command, playbook.yml is the name of the playbook that we created in Step 1.

Example 1: Install Nginx#

To install Nginx using Ansible System Roles, create a playbook with the following code:

---
- name: Install Nginx
  hosts: webservers
  become: true
  roles:
    - geerlingguy.nginx
yaml

In the above code, we are using the geerlingguy.nginx System Role to install Nginx.

Example 2: Install MySQL#

To install MySQL using Ansible System Roles, create a playbook with the following code:

---
- name: Install MySQL
  hosts: databases
  become: true
  roles:
    - geerlingguy.mysql
yaml

In the above code, we are using the geerlingguy.mysql System Role to install MySQL.

Example 3: Install PostgreSQL#

To install PostgreSQL using Ansible System Roles, create a playbook with the following code:

---
- name: Install PostgreSQL
  hosts: databases
  become: true
  roles:
    - geerlingguy.postgresql
yaml

In the above code, we are using the geerlingguy.postgresql System Role to install PostgreSQL.

Example 4: Install Redis#

To install Redis using Ansible System Roles, create a playbook with the following code:

---
- name: Install Redis
  hosts: cacheservers
  become: true
  roles:
    - geerlingguy.redis
yaml

In the above code, we are using the geerlingguy.redis System Role to install Redis.

Example 5: Install Docker#

To install Docker using Ansible System Roles, create a playbook with the following code:

---
- name: Install Docker
  hosts: dockerservers
  become: true
  roles:
    - geerlingguy.docker
yaml

In the above code, we are using the geerlingguy.docker System Role to install Docker.

Conclusion#

In this guide, we have shown you how to automate Linux systems with Ansible System Roles. By using Ansible System Roles, you can easily automate the deployment of various applications and services on your Linux servers. With the examples provided in this guide, you can now start automating your Linux systems with Ansible System Roles.

Automate Linux System Management with Ansible System Roles
https://techwhale.in/automate-linux-system-management-with-ansible-system-roles/
Author Mayur Chavhan
Published at July 14, 2023

Related posts