Skip to main content

Posts

Showing posts from November, 2024

Master Linux Administration for DevOps: Powerful Commands, Troubleshooting Tips & Best Practices

Linux administration is one of the most important skills for anyone working in DevOps. From application servers and CI/CD platforms to containers and cloud infrastructure, Linux-based systems are widely used in modern technology environments. In my day-to-day DevOps activities, I regularly work with Linux commands to manage files, monitor processes, troubleshoot services, investigate network problems, analyze logs, and resolve production issues. This guide covers essential Linux administration concepts and commands that are useful for DevOps engineers, along with practical examples of how they can be applied during everyday troubleshooting. 1. Understanding Linux File Permissions Linux uses a permission system to control access to files and directories. The three basic permissions are: Read (r) – Allows a user to view the contents of a file or directory. Write (w) – Allows modifications to a file or directory. Execute (x) – Allows a file to be executed or a director...

Real-time Ansible Interview Questions and Answers

1. How would you ensure that a specific package is installed on multiple servers? Answer: You can use the package module in an Ansible playbook to ensure a specific package is installed across multiple servers. For example: - name: Ensure package is installed package: name: httpd state: present 2. How do you handle different environments (development, testing, production) with Ansible? Answer: You can manage different environments by using separate inventory files and group variables. Each environment can have its own inventory file (e.g., dev.ini , test.ini , prod.ini ), and you can define environment-specific variables using group_vars directories. This allows you to target specific groups or environments. 3. How would you restart a service after updating a configuration file? Answer: Use the notify feature to trigger a handler that restarts the service once the configuration file is updated. For example: - n...

Essential Ansible Commands

Essential Ansible Commands Essential Ansible Commands This guide contains some essential Ansible commands with their explanations for managing infrastructure efficiently. Ping all hosts to check connectivity ansible all -m ping This command checks the connection to all hosts in the inventory file. Run a command on all hosts ansible all -m shell -a "uptime" This runs the uptime command on all hosts. You can replace uptime with any command you want to run. Run a playbook ansible-playbook playbook.yml This runs the playbook.yml file against the hosts defined in the inventory. Specify a different inventory file ansible-playbook -i myinventory.ini playbook.yml This uses myinventory.ini instead of the default /etc/ansible/hosts. ...

Handlers and Notify in Ansible

Handlers and Notify in Ansible Handlers and Notify in Ansible In Ansible, handlers are a special type of task that only run when notified by other tasks. They are commonly used for actions that should occur only when there is a change in the state of a resource, optimizing playbook runs by avoiding unnecessary operations. How Handlers Work Definition: Handlers are defined like regular tasks but are placed under a handlers section in your playbook. Notification: A task can notify a handler when it makes a change, using the notify keyword. Execution: Handlers are executed at the end of a play, after all tasks have run, and only if they have been notified. Example --- - name: Example Playbook hosts: webservers tasks: - name: Install nginx apt: name: nginx state: present notify: Restart nginx # Notify the handler if this task changes - name: Update ngin...