是否存在建议的方法来在一个git存储库中构造ansible剧本和terraform脚本?应该考虑什么,有什么限制?
答案 0 :(得分:0)
我不确定是否有建议的最佳实践,但这是我的工作:
- my_module
- modules
-my_module
-sub_module-01
-submodule-02
- ...
- config
my_module/modules/my_module
是项目中最高级的子模块。基本上,它是将所有其他子模块粘合在一起的包装器。
尤其是,我通常有一个config
子模块,该子模块接收仅与服务器/启动模板配置相关的变量,并输出将插入Cloud-init config之类的东西,将其插入EC2 /启动模板/等user_data
的论点。
但是,如果某些配置足够复杂和/或在许多模块之间共享,我可能会创建一个单独的foo-config
Terraform项目,该项目位于单独的存储库中。
我想您可以使用Ansible Playbooks做类似的事情:创建负责接收变量并正确呈现Playbook的模块,然后根据需要将它们放在单独的模块上。