本地流浪者盒子的libcloud计算提供程序
libcloud-vagrant的Python项目详细描述
libcloud-vagrant是Apache Libcloud的计算提供程序,它使用 Vagrant创建VirtualBox节点。
安装了libcloud-vagrant后,可以在 例如,你的笔记本电脑,然后将其部署到Amazon的Rackspace, 或者libcloud支持的任何其他云。
你好,世界
以下代码片段将启动主机上运行的虚拟机:
from libcloud.compute.providers import get_driver from libcloudvagrant import VAGRANT driver = get_driver(VAGRANT)() pub = driver.ex_create_network(name="pub", cidr="172.16.0.0/16", public=True) node = driver.create_node(name="n1", image=driver.get_image("hashicorp/precise64"), size=driver.list_sizes()[0], ex_networks=[pub]) print "Node '%s' running!" % (node.name,) print ("Connect to it with 'ssh vagrant@%s' (password: 'vagrant')" % (node.public_ips[0],))
功能
libcloud-vagrant使用vagrant创建框、网络和卷。它 在~/.libcloudvagrant下创建一个流浪环境,使用 运行您定义的任意数量的流浪箱。
由libcloud-vagrant创建的节点可以连接到公共网络 或专用网络。公共网络被实现为virtualbox host-only网络和专用网络实现为virtualbox internal网络。
libcloud-vagrant还允许您创建VDI disks,并将它们附加到 节点的SATA controllers。
部署脚本通过vagrant的nat接口运行,使用 流浪汉的ssh证书。因此,它们也适用于非网络 节点。
libcloud-vagrant包含一个命令行工具 libcloud创建的流浪节点的操作:
$ libcloud-vagrant -h usage: libcloud-vagrant [-h] <cmd> Manage your Vagrant libcloud environment. positional arguments: <cmd> command to execute optional arguments: -h, --help show this help message and exit Available commands: destroy Destroys all nodes, networks and volumes in your Vagrant environment. list Lists all nodes, networks and volumes in your Vagrant environment. screen Opens a screen(1) session to all nodes in your Vagrant environment. $
libcloud-vagrant不是线程或多进程安全的。相互作用 使用vagrant和virtualbox命令行工具受到保护 有一个基于文件系统的锁,它(希望)序列化一些东西,所以 即使它们有效,并发操作也不会给您带来太多好处 好处。
要求
libcloud-vagrant需要:
VirtualBox(在64位linux下用4.3.14版测试)。
Vagrant(在64位linux下使用1.6.3版进行测试)。
Python2.7。
如果要将存储卷附加到节点,则需要 vagrant-libcloud-helper流浪者插件。安装时使用:
$ vagrant plugin install vagrant-libcloud-helper
以下是可选的:
如果你在一个http/ftp代理后面,那么这个流氓插件vagrant-proxyconf 将修改由libcloud-vagrant创建的节点以使用它。
您不需要配置vagrant-proxyconf。安装时使用:
$ vagrant plugin install vagrant-proxyconf
安装
一旦安装了VirtualBox和Vagrant,请按常规操作:
$ pip install libcloud-vagrant
它将安装libcloud-vagrant及其python依赖项。你 可能想在虚拟机里完成。
更多示例
查看源发行版的samples子目录。你 我们将找到几个脚本来创建一个节点,向您展示如何 提供它,以及创建双节点集群的脚本。