在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-data 和 user-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的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 5249ac787ab047a0db2572aebe46bbbc71349a32bb9941bb8d2aaea71b68b480 |
|
MD5 | 38f18f169f447bc9ca58dc85a2bf8120 |
|
BLAKE2b-256 | 574ca3e7f995e1604cf9954d1f7148c636db6cb7612dc76ffb6b4878f2444db3 |