我们正致力于使用Ansible/Ansible to来部署一些开发环境。我们还利用了该塔与SCM集成的能力(在我们的案例中,是GIT)。
这项工作正在进行中,但我们有几个(3-4)独立的开发环境,对于部署过程(安装和配置),我们需要/使用一组密码,并且每个环境的密码都不同。
我们想要使用/利用Ansible保管库作为密码,但似乎如果我们这样做,所有环境都只有一个保管库,那么我们如何才能为每个环境拥有不同的保管库?
我看过一些关于" Vault -password-fileparameters“的信息,但似乎该参数需要指向驱动器上的目录/文件路径,而我认为理想情况下,我们希望能够将"vault-password-fileparameters”设置为类似于指向我们的SCM的URL,类似于在塔式中,您可以指定SCM URL和SCM分支/TAG/ commit,即,我们可以将"vault-password-fileparameters“设置为指向要用于Vault文件的SCM和分支或提交。
所以我想知道:这是可能的吗?Ansible有没有办法做到这一点?
谢谢,吉姆
发布于 2021-02-13 05:04:45
库存情况如何?您可以为每个环境使用清单。
每个清单将包含一组主机和保险存储的密码。
有关库存的更多详细信息,请访问:https://docs.ansible.com/ansible-tower/latest/html/userguide/inventories.html
因此,您在清单中组织主机,假设是dev清单和qa清单,每个清单都有两个已定义的组主机,例如数据库组、let服务器组,并且您在每个清单中使用group_vars文件夹来存储存储的密码,我们称其为db_root_password,此变量在特定组中的每个清单中定义。
因此,您的库存项目结构如下所示:
- inventory/dev/group_vars/vars.yml
- inventory/qa/group_vars/vars.yml在每个文件中,可以放入特定的库存变量,比如db_root_password
对于每个清单的主机文件,对于dev环境,它将位于inventory/dev/hosts中
它将包含您的组:
db-01 ansible_host="192.168.1.1"
web-01 ansible_host="192.168.1.2"
[database]
db-01
[webserver]
web-01如果您将此清单导入您的Ansible塔中,它将在您的清单部分中进行组织。
我希望这能帮助你理解这个想法。
https://stackoverflow.com/questions/66178924
复制相似问题