It is important to get ready for any interview. Preparation is the first step to give the best performance. When you want to land in the right DevOps job, you must be thorough with Ansible. Yes, several questions based on this tool will be asked to check your skills. Continue reading to find those questions which are going to offer you the best job. We have also given you answers to help you get ready to attend the interview.
1. What makes ansible different from other tools?
For automation from the start and scratch, Ansible works better than other tools.
For Configuration Management - the life cycle, code, and changes can be done by playbooks, roles, and inventory in Ansible.
2. Is Ansible written in Python, explain?
Yes, Ansible is written in Python and the learning curve is very simple and easy. Ansible follows a simple deployment process such as there is no requirement of daemons, servers, and clients. It manages the nodes through the SSH and operates parallel in use.
3. Compare Ansible, Puppet, and Chef?
Chef Vs Ansible Vs Puppet
|1||Availability||Back up Server||Secondary Instance||Another Master|
|2||Configuration Language||Ruby DSL||Yet another Markup Language (YAML), Python||Puppet DSL, Embedded Ruby |
|3||Ease of access||Chef clients can only configure the clients and server||SSH allows configuring only specific nodes||Puppet clients can configure the clients and master|
|4||Ease of setup and installation||Time-consuming and complicated due to chef workstation||Easy||Time-consuming due to certificate signing|
|5||Interoperability||Support pull configuration only||Ansible server supports only Unix/Linux machine and client machines support windows||Puppet server supports only Unix/Linux machine and client machines support windows|
|6||Management ||Support for pull configuration only||Support both the pull and push||Only pull configuration|
The standard hosted chef plan starts at $72 annually for every node
Chef automation version is charged at $137 per node annually
Self-support package starts at $5000 annually
Premium version costs $14,000 annually for each 100 nodes
Puppet enterprise pricing starts at $120 for every node annually
The premium plan is $199 for each node annually
Automated workflow for continuous delivery,
Compliance and security management,
Automation for DevOps workflow.
Automated workflow for continuous delivery,
Security and compliance management,
Role-based access control,
Visualizations and reporting.
|9||Scalability||Massive Ruby DSL code creates difficulties for scalable deployments||Efficient scalability with the installation of python interpreter and root access SSH||Problems with Large Puppet DSL code for scalability |
4. Does Ansible have a GUI? How to manage it?
Yes Ansible AWX has a GUI. It provides the Rest API, GUI, and Ansible task engine. You can manage it by scheduling and run by using the Ansible Playbooks.
Steps are as follows,
- Log in to the AWX server with the user name that is admin and password as a password, which is using the default credentials.
- Then a new organization is added
- Then the new user is added
- Now the new inventory is added
- Then the hosts are added
- Then the credentials are added
- Now the new template is to be added
- Finally, run the job
5. Differentiate Ansible and Ansible Galaxy?
Ansible Galaxy is the repository for the ansible roles. And the ansible-galaxy command is used that retrieves roles from Ansible Galaxy and installs them. Ansible is the tool that is used for configuration management using inventory and playbooks.
6. Which are the OS Ansible can work upon?
The Ansible server supports the Unix/Linux machines and the client machines support the windows Operating Systems.
7. Explain the steps in connecting Ansible to windows?
Step1 - Installing Ansible on the control node (CentOS 8)
- Install Python 3 on the Ansible control node
- Set up a virtual environment for running Ansible
- Then Install Ansible
- Install Pywinrm
Step2 - Configuring the windows host
- The WinRM script is downloaded on the windows host
- Then the WinRM is run on the Windows host
Step3 - Connect the Windows host to the Ansible control node
- Use the command "ansible winhost -m win_ping"
- Now once you get the reply you are connected to the windows host
Step4 - Finally create and run a playbook for windows host
- Hosts: winhost
- name: Install chocolatey on windows10
- win_chocolatey: name=procexp state=present
8. How to get connected to an Ansible server?
Follow the steps given in the question number 7.
9. Run Ansible command on targets?
- The 'command' module is used for taking the command name and list of space-delimited arguments.
- The provided command will get executed on all the modules.
- To create the command tasks without the space-delimited arguments use the 'args' or 'cmd' parameters
- For windows targets use the ‘win_command’ module instead.
10. How are Ansible and Jenkin associated?
Ansible and Jenkin can be integrated using the following steps,
- Create a Jenkins Job and configure the SCM repository using the code in GitHub
- Then configure the build
- Roles directory is created in the Jenkins workspace
Create the tomcat role in the Jenkins workspace location with the following command
- sudo ansible-galaxy init tomcat - offline
- Ansible playbook is called after the configuring the Jenkins post-build. Then, call the site.yml file and save the job.
- Next, call the build job and launch the Tomcat URL to check if the application is installed properly.
11. Where are the Ansible playbooks stored? What language is the playbook written in?
The inventory file is the hosts and group of hosts on which the modules, tasks, commands in a playbook operates. The default location for the inventory file is /etc/ansible/hosts. Playbooks are the file where the Ansible code is written. The Playbooks are written in YAML.
12. What is YAML and how is used in Ansible?
YAML stands for Yet Another Markup Language, Ansible uses YAML syntax for coding the Ansible Playbooks. It is English like language and is easy to write, read, and understand than other language formats such as JSON and XML.
13. Is there an alternative to Ansible? If yes why and what are they?
Yes, there are alternatives to Ansible such as Chef and Puppet. They have some additional features such as Node management, orchestration, code management, and visualization. However, each has its pros and cons. Please read the question#3 for the comparison.
14. What protocol is used in Ansible?
SSH is the default protocol used in Ansible to communicate between the servers and nodes.
15. If you are asked to practice Ansible, then how will you do it? Is it available for free?
Yes, Ansible is an open source and free software available for the general public and commercial uses.
Lab testing is the best way to practice Ansible.
The following are the steps to setup Ansible for the Lab test.
- The Oracle VirtualBox and OEL7 with Docker readymade OVA file is downloaded.
- The Oracle VirtualBox is installed and the VM started from the OVA file.
- Run the containers
- Establish connectivity between the Ansible server and clients via the SSH passwordless connectivity.
Conclusion – Suggestion to handle difficult Ansible interview questions
We are glad to provide you with Ansible interview questions and answers in this blog. However, you need to get trained in DevOps to answer even difficult questions. Don’t worry, you can join our DevOps training to learn DevOps in depth.
Join today and shape your career sharp.
All the best!