我正在尝试编写一个脚本来创建X
个“ A型”无用的虚拟机和Y
个“ B型”无用的虚拟机,并自动配置它们并将它们添加到专用网络(即192.168.100/8
)。我想像这样配置主机/ IP(即用户可以预先请求产生/初始化每种类型多少个单元; 0 <= j <=9
,0 <=k <= 30
):
server-A-01 (192.168.100.1)
server-A-02 (192.168.100.2)
server-A-0j (192.168.100.j)
client-B-20 (192.168.100.20
client-B-21 (192.168.100.21)
client-B-21 (192.168.100.(20 + k))
“ A型”和“ B型”映像的预配置脚本(即bash / shell脚本)很复杂,最后,最终成为了多个步骤,这些步骤不可能全部重做,背部。例如,“ A型” VM必须生成自签名证书,然后将证书部署到所有“ B型” VM中,并且需要运行更多的安装脚本。
我目前正在编写一个简单的bash / shell脚本来处理配置(即执行vagrant init
,vagrant up
,大约100 "modified" vagrant ssh
commands等),但是我想去可以使用配置这些机器的标准/规范方式(即using a Vagrantfile
或使用existing examples to handle multi-machine provisioning)进行操作,但是这些操作仅在预配步骤为单阶段/一次性操作的情况下才可行。相对于我目前需要处理的多阶段操作。
此外,一位同事建议对Ansible进行学习/阅读以解决我的问题,但我不知道是否/如何对我有帮助(即,我不知道它是否可以更好地处理多阶段配置比shell脚本或被一起入侵的Vagrantfile
)。
对于Vagrant,我如何(以官方推荐/支持或规范的方式)处理这样的多阶段配置操作,因此我可以启动用户定义数量的不同类型的VM,并将它们连接在一起通过专用网络?