DevOps / Ansible Interview questions
Describe roles in Ansible?
A role is a standardized way of packaging a set of tasks, handlers, variables, templates, and files around a single purpose, like "configure nginx" or "install a database," so that logic can be reused across multiple playbooks and projects.
roles/ nginx/ tasks/main.yml handlers/main.yml templates/nginx.conf.j2 defaults/main.yml vars/main.yml files/ meta/main.yml
Ansible expects this fixed directory structure so it can automatically find a role's tasks, handlers, and variables without extra configuration. A playbook then simply references the role by name, and Ansible pulls in everything the role provides.
- hosts: webservers roles: - nginx
This structure encourages breaking automation into composable, testable units rather than one large, monolithic playbook.
More Related questions...