在云端自动化设置和交付虚拟机
创始人
2024-03-02 11:00:32
0

通过使用 Testcloud 自动化设置过程并交付一个准备运行的虚拟机,在几分钟之内准备好一个云镜像。

如果你是一个在云端使用 Fedora qcow2 镜像 的开发者或者爱好者,在一个镜像准备使用之前,你总是不得不做一大堆初始化设置。我对此深有体会,所以我很想找到一种使设置过程更加简单的方法。碰巧,整个 Fedora 质量保证团队也有同感,所以我们开发了 Testcloud

Testcloud 是一个可以轻松的在几分钟之内准备云镜像测试的工具。它用几个命令就可以在云端自动化设置并交付准备运行的虚拟机(VM)。

Testcloud:

  1. 下载 qcow2 镜像
  2. 用你选择的名称创建实例
  3. 创建一个密码为 passw0rd,用户名为 fedora 的用户
  4. 分配一个 IP 地址,以便于你之后用 SSH 登录到云端
  5. 启动、停止、删除和列出一个实例

安装 Testcloud

要开始你的旅程,首先你必须安装 Testcloud 软件包。你可以通过终端或者“软件”应用来安装它。在这两种情况下,软件包的名字都是 testcloud 。用以下命令安装:

$ sudo dnf install testcloud -y

一旦安装完成,将你所需要的用户添加到 testcloud 用户组,这有助于 Testcloud 自动完成设置过程的剩余部分。执行这两个命令,添加你的用户到 testcloud 用户组,并通过提升组权限重启会话:

$ sudo usermod -a -G testcloud $USER
$ su - $USER

添加用户到 testcloud 组

像老手一样玩转云镜像

一旦你的用户获得了所需的组权限,创建一个实例:

$ testcloud instance create  -u 

或者,你可以使用 fedora:latest/fedora:XXXX 是你的 Fedora 发行版本)来代替 完整的 URL 地址:

$ testcloud instance create  -u fedora:latest

这将返回你的虚拟机的 IP 地址:

$ testcloud instance create testcloud272593 -u https://download.fedoraproject.org/pub/fedora/linux/releases/33/Cloud/x86_64/images/Fedora-Cloud-Base-33-1.2.x86_64.qcow2  
[...]
INFO:Successfully booted instance testcloud272593
The IP of vm testcloud272593:  192.168.122.202
------------------------------------------------------------
To connect to the VM, use the following command (password is 'passw0rd'):
ssh fedora@192.168.122.202

你可以用默认用户 fedora 登录,密码是 passw0rd(注意是零)。你可以使用 sshvirt-manager 或者支持连接到 libvirt 虚拟机方式来连接到它。

另一种创建 Fedora 云的方式是:

$ testcloud instance create testcloud193 -u fedora:33
 
WARNING:Not proceeding with backingstore cleanup because there are some testcloud instances running.
You can fix this by following command(s):
testcloud instance stop testcloud272593

DEBUG:Local downloads will be stored in /var/lib/testcloud/backingstores.
DEBUG:successfully changed SELinux context for image /var/lib/testcloud/backingstores/Fedora-Cloud-Base-33-1.2.x86_64.qcow2
DEBUG:Creating instance directories
DEBUG:creating seed image /var/lib/testcloud/instances/testcloud193/testcloud193-seed.img
INFO:Seed image generated successfully
INFO:Successfully booted instance testcloud193
The IP of vm testcloud193:  192.168.122.225
------------------------------------------------------------
To connect to the VM, use the following command (password is 'passw0rd'):
ssh fedora@192.168.122.225
------------------------------------------------------------

玩转实例

Testcloud 可以用来管理实例。这包括像列出镜像或者停止和启动一个实例等活动。

要列出实例,使用 list 子命令:

$ testcloud instance list                
Name                            IP                      State    
------------------------------------------------------------
testcloud272593                 192.168.122.202         running    
testcloud193                    192.168.122.225         running    
testcloud252793                 192.168.122.146         shutoff    
testcloud93                     192.168.122.152         shutoff

要停止一个运行的实例:

$ testcloud instance stop testcloud193  
DEBUG:stop instance: testcloud193
DEBUG:stopping instance testcloud193.

要删除一个实例:

$ testcloud instance destroy testcloud193  
DEBUG:remove instance: testcloud193
DEBUG:removing instance testcloud193 from libvirt.
DEBUG:Unregistering instance from libvirt.
DEBUG:removing instance /var/lib/testcloud/instances/testcloud193 from disk

要重启一个运行中的实例:

$ testcloud instance reboot testcloud93                                                                                        
DEBUG:stop instance: testcloud93
[...]
INFO:Successfully booted instance testcloud93
The IP of vm testcloud93:  192.168.122.152
usage: testcloud [-h] {instance,image} ...

尝试一下 Testcloud ,在评论中让我知道你的想法。


via: https://opensource.com/article/21/1/testcloud-virtual-machines

作者:Sumantro Mukherjee 选题:lujun9972 译者:hwlife 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

Manus和它的“8000...
本文系基于公开资料撰写,仅作为信息交流之用,不构成任何投资建议 ...
2026-01-20 18:47:07
如何在群晖上安装CentO...
作者:小蜜栏目:代码编程2025-08-24 00:1347 在...
2025-08-24 21:13:13
Proxmox VE 9....
IT之家 8 月 5 日消息,正值 Proxmox 开发商创立 2...
2025-08-06 06:43:13
苹果电脑能否安装CentO...
苹果电脑能否安装CentOS系统?这是一个用户经常提出的问题。苹果...
2025-06-05 06:12:02
virtual Box 安...
今天因测试需要,分别在安装了win10和win7的虚...
2025-06-01 18:12:39
(四)大数据实战——had...
前言 本节内容我们主要介绍一下虚拟机的网络配置,网络...
2025-06-01 07:35:18

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...