Ansible Automation Study on RedHat Distro

Listen to this Post

Ansible is a powerful open-source automation tool used for configuration management, application deployment, and task automation. It is particularly popular in RedHat-based systems due to its simplicity and agentless architecture.

You Should Know:

1. Installing Ansible on RedHat/CentOS

Before using Ansible, ensure it is installed on your control node (the machine that manages other systems).

sudo dnf install epel-release -y 
sudo dnf install ansible -y 
ansible --version 

2. Setting Up Inventory File

Ansible uses an inventory file to define managed hosts. Edit `/etc/ansible/hosts` or create a custom one:

[bash] 
web1.example.com 
web2.example.com

[bash] 
db1.example.com ansible_user=admin 

3. Basic Ansible Commands

  • Ping all hosts:
    ansible all -m ping 
    
  • Run a command on specific hosts:
    ansible web_servers -a "uptime" 
    
  • Copy files to remote hosts:
    ansible web_servers -m copy -a "src=/local/file.txt dest=/remote/file.txt" 
    

4. Using Playbooks

Playbooks are YAML files that define automation tasks. Example (deploy_web.yml):


<ul>
<li>hosts: web_servers 
tasks: </li>
<li>name: Install Apache 
yum: 
name: httpd 
state: present</p></li>
<li><p>name: Start Apache 
service: 
name: httpd 
state: started 
enabled: yes 

Run the playbook:

ansible-playbook deploy_web.yml 

5. Using Ansible Vault for Secrets

Encrypt sensitive data (passwords, keys) with:

ansible-vault create secret.yml 

Edit encrypted file:

ansible-vault edit secret.yml 

6. Debugging & Logging

Enable verbose output:

ansible-playbook playbook.yml -vvv 

Check syntax before running:

ansible-playbook --syntax-check playbook.yml 

What Undercode Say

Ansible simplifies IT automation with its agentless approach, making it ideal for RedHat environments. Key takeaways:
– Use `ansible-galaxy` to import community roles.
– `ansible-doc` helps in module documentation.
– For Windows automation, use `win_ping` and `win_copy` modules.
– Optimize performance with `pipelining = True` in ansible.cfg.
– Use `tags` in playbooks for selective task execution.

Expected Output:

A fully automated deployment process with Ansible playbooks, ensuring consistent and repeatable configurations across RedHat servers.

Further Reading:

References:

Reported By: Kinge Hans – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image