来自 MySQL 数据库的 Ansible 库存
Posted
技术标签:
【中文标题】来自 MySQL 数据库的 Ansible 库存【英文标题】:Ansible inventory from MySQL DB 【发布时间】:2015-05-26 13:47:41 【问题描述】:我有一个关于 Ansible 库存的查询。是否可以从 mysql 数据库加载库存而不是从文件加载?我正在寻找在调用剧本时指定存储在 My SQL DB 中的主机 ssh 密钥。这种方法的原因是,根据我的理解,为了通过 ansible 配置主机,应该将 ssh 密钥添加到已知的主机文件中,以避免密码提示并启用基于密钥的登录。在完全自动化的环境中,我想避免输入密码并将密码存储在文件中存在明显的安全问题。
【问题讨论】:
【参考方案1】:是的,您可以使用 Ansible 的 dynamic inventory 从任何地方加载库存数据。查看 AWS 清单脚本,了解为实例列表调用 API 的示例。
这种方法的原因是,据我了解,为了通过 ansible 配置主机,应将 ssh 密钥添加到已知主机文件中,以避免密码提示并启用基于密钥的登录。
不一定。如果您在 AWS 之类的实例频繁出入的地方,您可以使用 host_key_checking=False
在您的 Ansible 配置中关闭主机密钥检查。这具有您应该注意的安全隐患,但在使用诸如您在 AWS 上看到的短期实例时很常见。
在完全自动化的环境中,我想避免输入密码并将密码存储在文件中存在明显的安全问题。
需要注意的是,Ansible 有一个encrypted vault 可以用作密码。不过,基于密钥的身份验证通常是可行的方法。
【讨论】:
以上是关于来自 MySQL 数据库的 Ansible 库存的主要内容,如果未能解决你的问题,请参考以下文章