我正在尝试使用保险库加密敏感信息 . 我们可以在playbook任务中使用保险库保护变量吗?如果有,有人可以提供一些很好的例子吗?
这就是我所做的:
1:创建角色目录结构
2:创建了包含以下数据的groups_vars / vars文件
mysql_port:3306 mysql_host:10.0.0.3 mysql_user:fred
执行以下命令以创建加密文件
ansible-vault创建group_vars / vault
以下数据
vault_ear_password:supersecretpassword
这是最终的目录结构
.
├── . . .
├──group_vars/
│└──数据库/
│├──凡人
│└──跳马
└── . . .
现在在group_vars / vars文件中,我有以下条目
ear_password:“{}”
现在,我的查询是,我们不能在剧本中使用变量{},这样我就可以得到以下 Value :supersecretpassword
1 回答
是的,您可以通过这种方式使用保险库中的变量 .
问题在于您的目录结构:如果您希望为所有主机定义此变量,则应将
vars
和vault
文件放入group_vars/all/
目录,或者将它们放在group_vars/<group_name>/
目录下以为特定组定义它们(如示例中的database
) ) .在当前目录结构中,
vars
文件中的变量将转到名为vars
的组,而vault
文件中的变量将转到名为vault
的组 .