Ansible:角色的任务结构
Ansible: Task structure of roles
我有 4 本剧本。其中 2 个正在我的目标机器上部署服务,其中 2 个正在再次删除它们。
现在我想把它们放在角色中。但我不确定最佳做法是什么。
这 2 个部署手册仅使用不同的变量和模板做完全相同的事情。这同样适用于删除剧本。
Atm 我的结构是这样的:
ansible.cfg
ssh_key
inventoryfile
group_vars
....
roles
deployservicegroupA
vars
...
templates
...
tasks
main.yml (this file simply includes the two tasks right below)
copy-service-templates.yml
start-services.yml
deployservicegroupB
vars
...
templates
...
tasks
main.yml (this file simply includes the two tasks right below)
copy-service-templates.yml
start-services.yml
removeservicegroupA
vars
...
templates
...
tasks
main.yml (this file simply includes the two tasks right below)
remove-services.yml
cleanup.yml
removeservicegroupB
vars
...
templates
...
tasks
main.yml (this file simply includes the two tasks right below)
remove-services.yml
cleanup.yml
这是他们打算由用户完成的方式吗?
我特别想知道我的任务是否做完全相同的事情,但可以在不同的角色中找到。还有,如果我应该将我的任务包含在 main.yml 任务文件中。
根据您的评论,您正在为每项服务使用一个组,您可以使用 group_vars 指定要使用的变量。
然后您可以将这些角色合并在一起,您唯一需要做的就是根据您所在的组加载特定模板运行。
我有 4 本剧本。其中 2 个正在我的目标机器上部署服务,其中 2 个正在再次删除它们。
现在我想把它们放在角色中。但我不确定最佳做法是什么。
这 2 个部署手册仅使用不同的变量和模板做完全相同的事情。这同样适用于删除剧本。
Atm 我的结构是这样的:
ansible.cfg
ssh_key
inventoryfile
group_vars
....
roles
deployservicegroupA
vars
...
templates
...
tasks
main.yml (this file simply includes the two tasks right below)
copy-service-templates.yml
start-services.yml
deployservicegroupB
vars
...
templates
...
tasks
main.yml (this file simply includes the two tasks right below)
copy-service-templates.yml
start-services.yml
removeservicegroupA
vars
...
templates
...
tasks
main.yml (this file simply includes the two tasks right below)
remove-services.yml
cleanup.yml
removeservicegroupB
vars
...
templates
...
tasks
main.yml (this file simply includes the two tasks right below)
remove-services.yml
cleanup.yml
这是他们打算由用户完成的方式吗?
我特别想知道我的任务是否做完全相同的事情,但可以在不同的角色中找到。还有,如果我应该将我的任务包含在 main.yml 任务文件中。
根据您的评论,您正在为每项服务使用一个组,您可以使用 group_vars 指定要使用的变量。
然后您可以将这些角色合并在一起,您唯一需要做的就是根据您所在的组加载特定模板运行。