微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

apache-httpd – 在剧本中使用Ansible-Galaxy角色而不是在剧本中使用ansible-modules是最佳做法吗?

我有一个Ansible手册,用于在远程机器上建立LAMP环境.

本剧本的一部分涉及安装Composer:

- name: Install Composer
  get_url:
    url: https://getcomposer.org/installer
    dest: /tmp/composer-setup.PHP
  command: PHP /tmp/composer-setup.PHP --install-dir=/usr/local/bin --filename=composer

我的考虑

相反,这些5行结构我正在考虑在剧本中使用这个ansible-galaxy命令:

ansible-galaxy install geerlingguy.composer

geerlingguy.composer是拥有超过百万用户的最具社区支持的AG角色(所以我假设如果出现问题并且Jeff目前不在身边 – 比如说,在夏威夷度过假期,那么会有很多社区成员要修复问题并确保稳定.

使用它也会缩短我已经很长的剧本.

我的问题

一般来说,最好的做法是将Ansible-galaxy角色与Ansible剧本中的任务和测试一起使用,而不是剧本中应该显示达到相同目标的一组ansible-modules(可能是一些可能无关紧要的多余额外内容) t中断作为AG角色的一部分)?我会认为是的,因为它更公共,更稳定.

解决方法:

是否使用galaxy提供的角色是您需要在特定环境中评估的决策(对于您正在考虑的每个角色).

galaxy上的好角色通常会处理比你的特定角色更多的情况(看看这里的任务内容,与你的剧本相比),但这些功能需要付出代价:你正在为系统添加一个外部依赖,并依赖在社区处理您的要求.

与开发剧本(或您自己的galaxy角色)相比,您需要考虑评估galaxy角色的成本;无论是现在还是将来.没有严格的规则.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐