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 指定要使用的变量。

然后您可以将这些角色合并在一起,您唯一需要做的就是根据您所在的组加载特定模板运行。