use*_*003 3 ansible ansible-role
我发现自己总是在角色和任务之间感到困惑.
我认为标签是标记单个项目的一种方式,但我很困惑我如何使用它们.
假设我必须做以下事情
Users
Create a user named "deploy"
Add ssh key for "deploy" user
Git
Install git
Clone some git repo
Run Code Online (Sandbox Code Playgroud)
"用户"和"Git"会成为我在顶级YML文件中的两个主要角色吗?每个子项目(例如"安装Git")都是一项任务吗?我会用标签标记每个子任务吗?或者我用标签标记角色?
只是寻找Ansible层次结构的概述.
tl; dr任务是一个单一的声明(操作); 角色是分组任务的众多方法之一.
Ansible中的任务是一个基本工作单元,与其他语言中的一行代码相对应.
执行任务并产生结果(确定,更改,失败).
在大多数情况下,任务调用一个动作模块来处理幂等性,使任务成为编程的声明单元.
但是,有些任务执行其他命令的元操作,包含和包装.
Ansible中的一个角色是许多抽象层之一,用于将一组任务(以及默认数据,模板,处理程序,文件)分组为更复杂的定义.
角色隐藏实现细节(类似于其他语言中的函数,过程,方法)并允许轻松重用代码.
"用户"和"Git"会成为我在顶级YML文件中的两个主要角色吗?
在Ansible中没有单一的方法来组织事物.您可以使用不同的结构实现相同的结果:角色,包括,条件等.
你如何使用Ansible取决于你(和你组织)的目标:你可以创建Ansible playbooks,使它们读起来就像描述配置的完整,包含的线性文档; 或者您可以创建具有依赖关系,抽象级别和模块化体系结构的复杂配置.
| 归档时间: |
|
| 查看次数: |
2601 次 |
| 最近记录: |