根据Ansible文档,一本Playbook 是:
...非常简单的配置管理和多机部署系统的基础,与现有系统不同,它非常适合于部署复杂的应用程序。
而且,根据那些相同的文档,角色 是:
...基于已知文件结构自动加载某些vars_files,任务和处理程序的方式。按角色对内容进行分组还可以轻松与其他用户共享角色。
但是,这些与它们的不同用例之间的区别对我而言并不是立即显而易见的。例如,如果我将/etc/ansible/hosts
文件配置为如下所示:
[databases]
mydb01.example.org
mydb02.example.org
[mail_servers]
mymail01.example.org
mymail_dr.example.org
...那么这是什么[databases]
... 角色?还是某个地方的剧本YAML文件的名称?或者是其他东西?!?
如果有人可以向我解释这些差异,那么我对Ansible的理解将会大大增强!
- Playbook vs Role vs
[databases]
和类似条目/etc/ansible/hosts
- 如果在YAML文件中定义了Playbook,那么在哪里定义角色?
- 除了
ansible.cfg
在Ansible服务器上生活之外,我如何使用可用的Playbooks / Roles添加/配置Ansible?例如,当我跑步时ansible-playbook someplaybook.yaml
,Ansible如何知道在哪里可以找到该剧本?
tasks
做东西。playbooks
组织和启动任务。roles
组织执行特定功能的任务,处理程序等。playbook
需要一些来启动role
。你会调用的集合roles
和playbooks
?例如说一个管理您站点上所有主机的配置的主机?