Interview Questions and Answers
Freshers / Beginner level questions & answers
Ques 1. What is Ansible?
Ansible is an open-source automation tool used for configuration management, application deployment, task automation, and orchestration.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 2. What is an Ansible Playbook?
An Ansible Playbook is a YAML file that defines a set of tasks to be executed on remote hosts. Playbooks are used for automation and orchestration.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 3. How can you define variables in Ansible?
Variables in Ansible can be defined in playbooks, inventory files, or external variable files. They are used to make playbooks more dynamic.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 4. How can you run Ansible playbooks against multiple inventories?
You can use the '-i' option followed by the path to the inventory file when running the 'ansible-playbook' command.
Example:
ansible-playbook -i production_inventory.ini site.yml
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 5. What is the Ansible Galaxy?
Ansible Galaxy is a platform for sharing, discovering, and installing Ansible content, including roles, collections, and playbooks.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 6. What is the purpose of the 'become' keyword in Ansible?
The 'become' keyword is used to execute tasks with escalated privileges, usually by using 'sudo' or 'su'. It is equivalent to 'sudo' in Unix-like systems.
Example:
become: yes
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 7. How can you execute only a specific task from an Ansible playbook?
You can use the '--tags' option followed by the task tag when running the 'ansible-playbook' command to execute specific tasks.
Example:
ansible-playbook site.yml --tags deploy
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 8. How can you check the syntax of an Ansible playbook without executing it?
You can use the 'ansible-playbook' command with the '--syntax-check' option to validate the syntax of a playbook without running it.
Example:
ansible-playbook site.yml --syntax-check
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 9. How can you limit the execution of Ansible tasks to a specific set of hosts?
You can use the '--limit' option followed by the pattern of hosts when running the 'ansible-playbook' command to limit the execution to specific hosts.
Example:
ansible-playbook site.yml --limit web_servers
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 10. How can you use loops in Ansible playbooks?
Ansible supports loops using the 'with_items' keyword. It allows tasks to be repeated for each item in a list.
Example:
with_items:
- item1
- item2
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 11. How can you include external files in Ansible playbooks?
The 'include' statement is used to include external YAML files in Ansible playbooks. It allows for better organization and reuse of playbook components.
Example:
include: tasks/common-tasks.yml
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 12. How can you define and use roles in Ansible playbooks?
Roles are defined in separate directories and can be included in playbooks using the 'roles' keyword. They enhance playbook organization and reusability.
Example:
roles:
- common
- web_server
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 13. How can you check if a file or directory exists in Ansible?
The 'stat' module in Ansible can be used to check the existence of a file or directory. The result can be checked using the 'stat.exists' attribute.
Example:
stat:
path: /path/to/file.txt
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 14. How can you override variables in Ansible?
Variables in Ansible can be overridden at different levels, including playbooks, inventory files, and the command line. The precedence order determines which value is used.
Example:
ansible-playbook site.yml -e 'variable_name=new_value'
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Intermediate / 1 to 5 years experienced level questions & answers
Ques 15. Explain the difference between Ansible and other configuration management tools.
Ansible is agentless, uses simple YAML syntax, and doesn't require a master-server setup. Other tools like Puppet and Chef rely on agents and a master-server architecture.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 16. Explain the role of an Ansible Handler.
An Ansible Handler is a special task triggered only if another task changes a system state. Handlers are used to restart services or perform similar actions after a change.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 17. What is the purpose of Ansible roles?
Roles in Ansible provide a way to organize and reuse code. They consist of tasks, handlers, variables, and other related files structured in a directory hierarchy.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 18. Explain the concept of idempotence in Ansible.
Idempotence means that the result of an operation is the same regardless of how many times it is executed. Ansible plays and tasks should be designed to be idempotent.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 19. How can you encrypt sensitive data in Ansible?
Ansible provides the 'ansible-vault' command to encrypt sensitive data, such as passwords and secret keys.
Example:
ansible-vault encrypt secret.yml
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 20. Explain Ansible facts.
Ansible facts are pieces of system information collected during playbook execution. They provide details about the target system, such as hardware, network, and OS.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 21. What is the purpose of the 'notify' keyword in Ansible?
The 'notify' keyword is used to trigger handlers. It specifies a task or a list of tasks to be executed if the associated task results in a change.
Example:
notify: restart apache
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 22. What is the purpose of the 'register' keyword in Ansible?
The 'register' keyword is used to capture the output of a task and store it in a variable. This variable can be used later in the playbook.
Example:
register: result
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 23. Explain Ansible dynamic inventories.
Dynamic inventories in Ansible are scripts or programs that generate inventory information dynamically. They are useful in dynamic or cloud environments.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 24. What is the purpose of the 'when' keyword in Ansible?
The 'when' keyword is a conditional statement in Ansible. It is used to execute a task based on a specified condition, improving playbook flexibility.
Example:
when: ansible_os_family == 'Debian'
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 25. Explain the purpose of Ansible Tower.
Ansible Tower is a web-based UI and API for managing Ansible. It provides a dashboard, role-based access control, job scheduling, and other features.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 26. Explain the purpose of Ansible Facts caching.
Ansible Facts caching is the process of storing facts about remote systems locally to improve performance. It reduces the need to gather facts on each playbook run.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 27. What is the purpose of the 'delegate_to' keyword in Ansible?
The 'delegate_to' keyword is used to run a task on a different host than the one specified in the playbook. It is useful for offloading tasks to specific hosts.
Example:
delegate_to: backup_server
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 28. Explain Ansible dynamic variables.
Dynamic variables in Ansible are variables whose values are generated or fetched dynamically during playbook execution. They provide flexibility in configuration.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Ques 29. Explain Ansible Tower Workflows.
Ansible Tower Workflows allow the creation of complex job workflows by combining multiple playbooks and job templates. They provide a visual representation of the workflow.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Experienced / Expert level questions & answers
Ques 30. How can you create custom Ansible modules?
Custom Ansible modules can be created using Python. They should follow the Ansible module development guidelines and use the 'ansible.module_utils' library.
保存以便复习
保存以便复习
收藏此条目、标记为困难题,或将其加入复习集合。
Most helpful rated by users: