为本地Vagrant箱子提供libcloud计算提供商
项目描述
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下创建一个Vagrant环境,该环境用于运行您定义的任意数量的Vagrant箱子。
libcloud-vagrant 创建的节点可以连接到公共网络或私有网络。公共网络作为VirtualBox的主机仅网络实现,私有网络作为VirtualBox的内部网络实现。
libcloud-vagrant 还允许您创建VDI磁盘,并将它们附加到节点的SATA控制器。
部署脚本通过Vagrant的NAT接口运行,使用Vagrant的SSH凭证。因此,它们也适用于非网络节点。
libcloud-vagrant 包含一个命令行工具,可以对Libcloud创建的Vagrant节点执行简单操作。
$ 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)。
Python 2.7。
如果你想要将存储卷附加到节点上,你需要vagrant-libcloud-helper Vagrant插件。使用以下命令安装它:
$ vagrant plugin install vagrant-libcloud-helper
以下为可选
如果你位于HTTP/FTP代理后面,Vagrant插件vagrant-proxyconf 将修改libcloud-vagrant 创建的节点以使用它。
你不需要配置vagrant-proxyconf。使用以下命令安装它:
$ vagrant plugin install vagrant-proxyconf
安装
一旦你安装了VirtualBox和Vagrant,就做常规操作
$ pip install libcloud-vagrant
这将安装libcloud-vagrant 及其Python依赖项。你可能希望在virtualenv中执行此操作。
更多示例
查看源分发中的samples 子目录。你将找到一些用于创建单个节点、展示如何配置它以及创建两个节点集群的脚本。
项目详情
libcloud-vagrant-0.5.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | d184e7a1f655d949b63bb3edcff8aa4f4120af1a4fd9bf2ea3cbe4c5114dfd51 |
|
MD5 | c3c0eb74d7da8e531161b077f3e022f9 |
|
BLAKE2b-256 | e75d14ea49a4090b02169d44879a756bce21d4edfff61b4181f736333df6c81c |