跳转到主要内容

为本地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 (166.5 kB 查看散列)

上传时间

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面