如何在剧本

时间:2017-04-19 13:41:27

标签: ansible

我正在尝试使用保险库来加密敏感信息。我们可以在playbook任务中使用保险库保护变量吗?如果是的话,有人可以提供一些不错的例子吗?

这就是我所做的:

1:创建角色目录结构

2:创建了包含以下数据的groups_vars / vars文件

        

mysql_port:3306

     

mysql_host:10.0.0.3

     

mysql_user:fred

执行以下命令以创建加密文件

  

ansible-vault create group_vars / vault

以下数据

        

vault_ear_password:supersecretpassword

这是最终的目录结构

├──。 。

├──group_vars/

│└──数据库/

│├──vars

│└──vault

└──。 。

现在在group_vars / vars文件中,我有以下条目

  

ear_password:“{{vault_ear_password}}”

现在,我的查询是,我们不能在剧本中使用变量{{ear_password}},以便我可以获得以下值:supersecretpassword

1 个答案:

答案 0 :(得分:1)

是的,您可以通过这种方式使用保险库中的变量。

问题在于您的目录结构:如果您希望为所有主机定义此变量,则应将varsvault文件放入group_vars/all/目录中,或者放置它们在group_vars/<group_name>/目录下为特定组定义它们(如示例中的database)。

在当前目录结构中,vars文件中的变量转到名为vars的组,vault文件中的变量转到名称为vault的组。