跳转到主要内容

在libvirt虚拟机上运行云镜像

项目描述

Downburst是一个用于在libvirt上快速创建虚拟机的工具。它使用Ubuntu的云镜像和qcow2的写时复制克隆来使虚拟机创建几乎瞬间完成,通过cloud-init在启动时进行自定义。

有关Ubuntu云镜像的更多信息,请参阅

安装

您可以将Downburst像安装其他Python包一样安装,但它还附带一个方便的引导脚本,该脚本在源目录下的虚拟环境中设置它。只需运行

git clone https://github.com/ceph/downburst.git
cd downburst
./bootstrap

然后,您可以使用

./virtualenv/bin/downburst ARGS..

您还可以将其链接到例如~/bin/

用法

您需要为您的虚拟机提供一个唯一的名称。这将成为虚拟机的计算机名和libvirt域名。运行

downburst -C URI create NAME

如果此工具不用于Inktank机器或Inktank员工,则应通过传递–nokey选项来避免将默认的Inktank ssh密钥安装到创建的客户端的authorized_hosts文件中。

downburst -C URI create NAME –nokey

URI是~/.config/libvirt/libvirt.conf中uri_aliases设置的别名。例如

uri_aliases = [
    'vercoi01=qemu+ssh://ubuntu@vercoi01.front.sepia.ceph.com/system?no_tty=1',
    'vercoi02=qemu+ssh://ubuntu@vercoi02.front.sepia.ceph.com/system?no_tty=1',
    'vercoi03=qemu+ssh://ubuntu@vercoi03.front.sepia.ceph.com/system?no_tty=1',
    'vercoi04=qemu+ssh://ubuntu@vercoi04.front.sepia.ceph.com/system?no_tty=1',
    'vercoi05=qemu+ssh://ubuntu@vercoi05.front.sepia.ceph.com/system?no_tty=1',
    'vercoi06=qemu+ssh://ubuntu@vercoi06.front.sepia.ceph.com/system?no_tty=1',
    'vercoi07=qemu+ssh://ubuntu@vercoi07.front.sepia.ceph.com/system?no_tty=1',
    'vercoi08=qemu+ssh://ubuntu@vercoi08.front.sepia.ceph.com/system?no_tty=1',
    'senta01=qemu+ssh://ubuntu@senta01.front.sepia.ceph.com/system?no_tty=1',
    'senta02=qemu+ssh://ubuntu@senta02.front.sepia.ceph.com/system?no_tty=1',
    'senta03=qemu+ssh://ubuntu@senta03.front.sepia.ceph.com/system?no_tty=1',
    'senta04=qemu+ssh://ubuntu@senta04.front.sepia.ceph.com/system?no_tty=1',
    ]

您可以使用(请小心)删除一个客户端

downburst -c URI destroy NAME

默认情况下,您的本地SSH公钥(从 ~/.ssh/id_rsa.pub 获取)授权登录为 ubuntu

您还可以传递EC2风格的 meta-datauser-data 段落;如果重复该参数,文件将被合并

downburst create --meta-data=FILE.meta.yaml \
  --user-data=FILE.user.yaml NAME

查看 doc/examples/ 以获取关于元数据和用户数据使用的想法,并探索上面的Ubuntu链接。

元yaml中有效的Downburst选项及其默认值(如果未定义)

disk-size: (磁盘空间)

默认10G。例如:20G

additional-disks: (为虚拟机提供的额外驱动器数量)

默认0。例如:5(5个额外驱动器)

additional-disks-size: (额外磁盘的大小)

默认10G。例如:100G

ram: (内存大小)

默认512M。例如:2G

cpu: (CPU/核心数量)

默认1。例如4

networks: (nics/网络/mac地址)
默认Nat。例如
  • source: front mac: 52:54:00:5a:aa:ee

distro: (发行版类型)

默认ubuntu。例如centos

distroversion: (发行版版本)

默认(如果为ubuntu)“12.04”。例如“12.10”

arch: (镜像架构)

默认“amd64,可以是“i386”或“amd64/x86_64”

Distro/distroversion/arch也可以在命令行创建时通过–distro=value或–distroversion=value或–arch=value设置

通过运行以下命令列出所有可用的发行版/版本

downburst list

静态SSH密钥生成

Downburst还包括一个用于创建静态SSH密钥的实用程序,当您想反复删除并重新创建虚拟机但不想让SSH一直抱怨时。

要设置它,运行一次

downburst gen-ssh-key >NAME.user.yaml

然后,您可以使用以下命令重新创建虚拟机(删除后)

downburst create --user-data=NAME.user.yaml NAME

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

downburst-0.0.1.tar.gz (17.1 kB 查看散列)

上传时间

支持者

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