在几个部分中部署测试vm

virt-lightning的Python项目详细描述


骑上闪电!

Logo

virt lightning可以快速部署一系列新的vm。它 同时准备库存文件!

这对于快速验证新的Ansible Playbook或大量环境中的角色非常方便。

示例:在一分钟内测试新env上的ansibe命令

简而言之:

echo"- distro: centos-7" > virt-lightning.yaml
vl up
vl ansible_inventory
ansible all -m ping -i inventory

在下面的视频中,我们:

  1. 使用分发列表生成virt-lightning.yaml文件。
  2. 然后,我们基于此文件创建一个环境
  3. 一旦环境准备就绪,我们将生成一个ansible inventory文件
  4. 我们用它在所有主机上调用ansible的ping模块。

demo

先决条件

debian

首先需要安装libvirt和guestfs:

sudo apt install -f libguestfs-tools libvirt-daemon libvirt-daemon-system python3 python3-libvirt python3-pip python3-urwid
sudo systemctl start --now libvirtd

第二步是授予用户使用libvirt的能力:

sudo usermod -a -G kvm,libvirt,libvirt-qemu $USER

Fedora-29

首先需要安装libvirt和guestfs:

sudo apt install -f libguestfs-tools libselinux-python libvirt python3 python3-libvirt python3-pip python3-urwid
sudo systemctl start --now libvirtd

第二步是授予用户使用libvirt的能力:

sudo usermod -a -G qemu,libvirt $USER

ubuntu-16.04

首先需要安装libvirt和guestfs:

sudo apt install -f libguestfs-tools libvirt-bin libvirt-daemon python3 python3-libvirt python3-pip python3-urwid
sudo systemctl start --now libvirtd

第二步是授予用户使用libvirt的能力:

sudo usermod -a -G kvm,libvirtd $USER

ubuntu-18.04

首先需要安装libvirt和guestfs:

sudo apt install -f libguestfs-tools libvirt-bin libvirt-daemon python3 python3-libvirt python3-pip python3-urwid
sudo systemctl start --now libvirtd

第二步是授予用户使用libvirt的能力:

sudo usermod -a -G kvm,libvirt $USER

ubuntu-18.10

首先需要安装libvirt和guestfs:

sudo apt install -f libguestfs-tools libvirt-daemon libvirt-daemon-system python3 python3-libvirt python3-pip python3-urwid
sudo systemctl start --now libvirtd

第二步是授予用户使用libvirt的能力:

sudo usermod -a -G kvm,libvirt $USER

安装

pip3 install --user --no-deps git+https://github.com/virt-lightning/virt-lightning

只有在ubuntu上才需要--no-deps参数(请参见:https://github.com/pypa/pip/issues/4222)。

virt-lightning将安装在~/.local/bin/中。如果 现在还不是这样。例如,如果您使用:

echo"export PATH=$PATH:~/.local/bin/" >> ~/.bashrc
source ~/.bashrc

获取一些图像

在启动第一个vm之前,需要获取图像。为此, 你只需要这些脚本: https://github.com/virt-lightning/virt-lightning/tree/master/images

$ git clone https://github.com/virt-lightning/virt-lightning
$ cd virt-lightning/images
$ ./image centos-7 build
$ ./image debian-9 build
()

ubuntu需要使用sudo来构建或准备图像。

你也可以在嵌入cloud init后使用自己的图像,只需将它们复制到qcow2中 格式为/var/lib/virt lightning/pool/upstream/。把qemu的客户代理也包括进来也是个好主意, virt lightning使用它设置根密码,它还提供了一些其他好处。

操作

vlvirt-lightning的别名,您可以同时使用。在文件的其余部分 我们用最短的版本。

  • vl发行版列表:列出可使用的发行版映像。它的输出与vl up兼容。您可以使用vl distro > virt-lightning.yaml初始化新配置。
  • vl upvirt-lightning将从当前目录读取virt-lightning.yaml文件并准备关联的vm。
  • vl down:销毁所有虚拟机。
  • vl status:列出虚拟机、它们的IP以及它们是否可访问。
  • vl ansible_inventory:以ansible格式导出库存。
  • vl ssh:显示菜单以选择主机并打开ssh连接vl ssh
  • vl控制台:类似于vl ssh,但使用vm的串行控制台vl ssh

从文件

配置

您可以这样创建自己的配置文件并保存到config.ini

[main]
network_name = virt-lightning
root_password = root
storage_pool = virt-lightning

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束