防止使用错误的Ansible库存

时间:2015-10-14 07:22:56

标签: ansible ansible-playbook

想象一下使用Ansible的服务器设置,生产和参考系统/集群以及运行Ansible的单独服务器(使用ssh-keys)。两个清单文件中标识了不同的集群。

每个剧本用法都会看起来像ansible-playbook -i production ...ansible-playbook -i reference...

如何防止意外使用生产库存?

这可以通过在shell中使用历史记录条目或从某些文档中复制命令来轻松实现。

一些想法:

  • 首先,每个文档都引用了reference广告资源,并且还使用了--check
  • 使用两个不同的Ansible实例,通过Git镜像公共部分。但这会导致一些开销。
  • 提示一次,即数据库密码,并在生产和参考上使用不同。但并非所有任务/标签都有这样的密码要求。

实际上,在使用特定广告资源时,我正在寻找类似主密码的内容?或者即使使用标签也始终执行的任务?这里的最佳做法是什么?你有其他想法吗?或者我在某种程度上完全错了,我的情景有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

您的生产广告资源可能是vaulted,甚至只是包含一个拱形文件(实际上不需要包含任何内容)。

这意味着当您尝试运行时:

ansible-playbook -i production playbook.yml

它会失败并显示一条消息,告诉您将保管库密码传递给它。

保险箱密码可以是简单的,例如“pr0duct10n”,因此它的全部目的是提醒人们他们即将在生产中运行它,以便考虑事情(就像有多少人使用sudo密码一样)。