2

我的一些客户有他们网站的虚拟机,我想使用 Ansible 进行管理。

我相信角色是要走的路。我可以为客户的主机分配常见的角色,如“web 服务器”和“邮件守护程序”,以及使用参数化角色将多个 Wordpress 实例部署到一台主机。

我不确定如何将这些角色分配给我客户的主机。使用清单文件、组、剧本、host_vars、group_vars 等为主机分配角色(包括参数化角色的多次分配)的最佳实践是什么?我应该将每个主机添加到剧本并在那里分配角色吗?我是否应该只将角色分配给组(但是我不能添加多个参数化角色?或者我可以使用 host_vars 或类似的东西)?

4

1 回答 1

3

我现在正在做的是在deploy我的每个客户的项目目录中创建一个目录。这些目录包含一个主机文件,其中包含客户端的主机(通常只有一个)和两个剧本:configure.ymldeploy.yml. 我将主机分组并将角色分配给组:

- name: Basic configuration
  hosts: all
  user: root
  roles:
  - common

我不使用包含所有不同客户端主机的主机文件,因为我想我永远不想同时在所有这些主机上播放一本书。

通用角色链接到部署目录(也可以使用 roles_path 选项)。

于 2013-12-03T20:27:43.520 回答