在裸机上设置 Linux 云

使用 Fedora 上的 virt-install 创建云镜像。
60 位读者喜欢这篇文章。
Sky with clouds and grass

Flickr 用户:theaucitron (CC BY-SA 2.0)

虚拟化是最常用的技术之一。Fedora Linux 使用 云基础镜像 来创建通用虚拟机 (VM),但是有很多方法可以设置云基础镜像。最近,用于配置 VM 的 virt-install 命令行工具增加了对 cloud-init 的支持,因此现在可以用于在本地配置和运行云镜像。

本文逐步介绍了如何在裸机上设置基本的 Fedora 云实例。相同的步骤可以用于任何 raw 或 Qcow2 云基础镜像。

什么是 --cloud-init?

virt-install 命令使用 libvirt 创建 KVM、Xen 或 LXC 客户机。--cloud-init 选项使用本地文件(称为 nocloud 数据源),因此您无需网络连接即可创建镜像。nocloud 方法在首次启动期间从 iso9660 文件系统(.iso 文件)派生客户机的用户数据和元数据。当您使用此选项时,virt-install 会为 root 用户帐户生成一个随机(和临时)密码,提供一个串行控制台,以便您可以登录并更改密码,然后为后续启动禁用 --cloud-init 选项。

设置 Fedora 云基础镜像

首先,下载 Fedora 云基础 (用于 OpenStack) 镜像

然后安装 virt-install 命令

$ sudo dnf install virt-install

一旦安装了 virt-install 并且下载了 Fedora 云基础镜像,创建一个名为 cloudinit-user-data.yaml 的小型 YAML 文件,以包含 virt-install 将使用的一些配置行。

#cloud-config
password: 'r00t'
chpasswd: { expire: false }

这个简单的 cloud-config 设置了默认 fedora 用户的密码。如果您想使用过期的密码,您可以将其设置为在登录后过期。

创建并启动 VM

$ virt-install --name local-cloud18012709 \
--memory 2000 --noreboot \
--os-variant detect=on,name=fedora-unknown \
--cloud-init user-data="/home/r3zr/cloudinit-user-data.yaml" \
--disk=size=10,backing_store="/home/r3zr/Downloads/Fedora-Cloud-Base-33-1.2.x86_64.qcow2"

在本示例中,local-cloud18012709 是虚拟机的名称,RAM 设置为 2000MiB,磁盘大小(虚拟硬盘驱动器)设置为 10GB,--cloud-initbacking_store 包含您创建的 YAML 配置文件和您下载的 Qcow2 镜像的绝对路径。

登录

镜像创建完成后,您可以使用用户名 fedora 和 YAML 文件中设置的密码登录(在我的示例中,这是 r00t,但您可能使用了其他密码)。首次登录后请更改您的密码。

要关闭您的虚拟机,请执行 sudo poweroff 命令,或按键盘上的 Ctrl+]

启动、停止和终止 VM

virsh 命令用于启动、停止和终止 VM。

要启动任何正在运行的 VM

$ virsh start <vm-name>

要停止任何正在运行的 VM

$ virsh shutdown <vm-name>

要列出所有处于运行状态的 VM

$ virsh list

要销毁 VM

$ virsh destroy <vm-name>

快速且简单

virt-install 命令与 --cloud-init 选项结合使用,可以快速轻松地创建云就绪镜像,而无需担心是否已经拥有云来运行它们。无论您是为大型部署做准备还是只是学习容器,都可以尝试 virt-install --cloud-init

您是否有最喜欢的云工作工具?请在评论中告诉我们。

接下来阅读什么
User profile image.
嘿,开源爱好者们!我是 Sumantro,来自印度(东部地区 - 英国殖民时期前首都,又名加尔各答)。我喜欢分享知识并撰写关于技术和经验的文章(大多数是我每天尝试的)。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.