本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
本节介绍如何创建和使用seed.iso
映像来配置在上运行的亚马逊 Linux 2023 KVM 或 VMware。 因为 KVM 以及 VMware 环境没有 Amazon EC2 实例元数据服务 (IMDS),则需要另一种配置 Amazon Linux 2023 的方法,而提供seed.iso
图像就是其中一种方法。
seed.iso
启动映像包括启动和配置新的虚拟机所需的初始配置信息,例如网络配置、主机名和用户数据。
注意
seed.iso
映像仅包括启动虚拟机所需的配置信息,它不包括 Amazon Linux 2023 操作系统文件。
要生成 seed.iso
映像,您至少需要两个配置文件,有时则需要三个:
-
meta-data
-
此文件通常包含虚拟机的主机名。
-
user-data
-
此文件通常配置用户帐户及其密码,ssh 密钥对和/或访问机制。默认情况下,亚马逊 Linux 2023 KVM 和 VMware 镜像会创建一个
ec2-user
用户账户。您可以使用user-data
配置文件为此默认用户账户设置密码和/或 ssh 密钥。 -
network-config
(可选) -
此文件通常为虚拟机提供网络配置,该配置将覆盖默认配置。默认配置是使用 DHCP 在第一个可用的网络接口上。
创建 seed.iso
磁盘映像
-
在 Linux 或 MacOS 计算机上,创建一个名为
seedconfig
的新文件夹并导航到该文件夹。注意
虽然可以使用 Windows 或其他操作系统完成这些步骤,但您必须找到
mkisofs
的等效工具才能完成创建seed.iso
映像。 -
创建
meta-data
配置文件。-
创建名为
meta-data
的新文件。 -
使用您的首选编辑器打开
meta-data
文件并添加以下内容,vm-hostname
替换为 VM 的主机名:#cloud-config local-hostname:
vm-hostname
-
保存并关闭
meta-data
配置文件。
-
-
创建
user-data
配置文件。-
创建名为
user-data
的新文件。 -
使用首选编辑器打开
user-data
文件并添加以下内容,进行必要的替换:#cloud-config #vim:syntax=yaml users: # A user by the name 'ec2-user' is created in the image by default. - default - name: ec2-user ssh_authorized_keys: - ssh-rsa
ssh-key
# In the above line, replacessh key
with the content of your ssh public key. -
您可以选择向
user-data
配置文件中添加更多用户帐户。您可以指定其他用户账户、用户访问机制、密码和密钥对。有关支持的指令的更多信息,请参阅上游
cloud-init
文档。 -
保存并关闭
user-data
配置文件。
-
-
(可选)创建
network-config
配置文件。-
创建名为
network-config
的新文件。 -
使用首选编辑器打开
network-config
文件并添加以下内容,将各个 IP 地址替换为适合您的设置的地址。#cloud-config version: 2 ethernets: enp1s0: addresses: -
192.168.122.161/24
gateway4:192.168.122.1
nameservers: addresses:192.168.122.1
注意
cloud-init
网络配置提供了与之匹配的机制 MAC 接口的地址,而不是指定接口名称,接口名称可能会根据虚拟机配置而变化。上游cloud-init
网络配置版本 2 文档中详细描述了网络配置的这个(以及更多) cloud-init
功能。 -
保存并关闭
network-config
配置文件。
-
-
使用在前面步骤中创建的
meta-data
、user-data
和可选的network-config
配置文件创建seed.iso
磁盘映像。根据要在其上创建
seed.iso
磁盘映像的操作系统,执行以下操作之一。-
在 Linux 系统上,使用
mkisofs
或genisoimage
之类的工具来创建已完成的seed.iso
文件。导航到seedconfig
文件夹,并运行以下命令:$
mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data
-
如果您使用
network-config
,则将其包含在mkisofs
调用中:$
mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data network-config
-
在 macOS 系统上,您可以使用
hdiutil
之类的工具来生成已完成的seed.iso
文件。由于hdiutil
采用路径名而不是文件列表,因此无论是否创建了network-config
配置文件,都可以使用相同的调用。$
hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/
-
-
现在,可以使用虚拟 CD-ROM 驱动器将生成的
seed.iso
文件附加到您的新 Amazon Linux 2023 虚拟机上,cloud-init
以便在首次启动时查找并将配置应用于系统。