我理解Vagrant是一种创建和管理虚拟机的工具,而可抗是一种配置机器的工具(不管是虚拟的还是其他的)。
然而,Ansible的AWS模能够创建和管理AWS资源--再加上它的动态AWS库存,这将产生一个完全可移植的管理工具。虽然vagrant-aws插件也可以创建和管理AWS资源,但我认为它不能如此轻松地管理相同的资源(例如,一个新的管理主机可以下载Vagrantfile,但不能管理现有的AWS资源),对吗?
如果是这样的话,使用Vagrant来管理AWS资源(如果已经使用Ansible进行供应)与使用Ansible进行资源管理和配置相比,有什么好处(如果有的话)?
发布于 2015-08-04 17:04:46
我认为,您基本上是正确的--如果您只想管理EC2实例--尽管流浪汉可以轻松地使用Ansible的动态库存系统:http://docs.vagrantup.com/v2/provisioning/ansible.html:
静态库存第二种选择是针对您希望对库存管理有更多控制的情况。使用
ansible.inventory_path option,您可以引用特定的库存资源(例如,静态库存文件、动态库存脚本,甚至存储在同一个目录中的多个库存)。流浪汉将使用这些库存信息,而不是生成它。
这个选项可能应该被称为“现有库存”或“外部库存”什么的--它仅仅意味着“使用Vagrant没有生成的库存”。
Vagrant的真正优势是能够在多个环境中使用相同/类似的Vagrantfiles -使用完全相同的Ansible脚本。因此,Virtualbox VM用于dev,EC2用于stage/prod,具有相同的Ansible供应脚本--或者是相同的迷走神经文件,或者是两个非常相似的脚本。
此时,您可以切换到Docker,只需简单地更改Vagrantfile中的提供程序,甚至可以在命令行上使用--provider。
Vagrant实现后端提供程序的方式使得切换变得非常简单。
迷航者还提供了一个简单的命令行界面,用于管理您的框-查看状态、停止、启动、重新启动等等:
vagrant status
vagrant up <machine>
vagrant destroy -f <machine>它的工作原理相同,不管后端提供程序- Virtualbox、EC2等等.以及大量用于其他有用内容的插件:https://github.com/mitchellh/vagrant/wiki/Available-Vagrant-Plugins
但是,这并不完美。vagrant-aws插件没有得到太多的喜爱,如果您有复杂的AWS需求,您可能会更好地自己滚动的东西,要么用脚本+ Ansible,或Ansible在它自己。
https://serverfault.com/questions/710709
复制相似问题