选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

VMware AL2023 上的 guestinfo cloud-init 配置 VMware

聚焦模式
VMware AL2023 上的 guestinfo cloud-init 配置 VMware - Amazon Linux 2023

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

VMware 环境没有 Amazon EC2 实例元数据服务 (IMDS),因此需要另一种配置 AL2 023 的方法。本节介绍如何使用seed.iso虚拟CD-ROM驱动器的替代配置机制,该机制可在中找到 VMware vSphere。

此配置方法使用 VMware extraconfig向其提供配置数据的机制cloud-init。对于以下每个密钥,都必须提供相应的keyname.encoding属性。

可以将以下密钥提供给 VMware extraconfig机制。

guestinfo.metadata

JSON 或 YAML 包含cloud-init元数据

guestinfo.userdata

A YAML 包含cloud-config格式的cloud-init用户数据的文档。

guestinfo.vendordata(可选)

YAML 包含cloud-init供应商数据

相应的编码属性(guestinfo.metadata.encodingguestinfo.userdata.encodingguestinfo.vendordata.encoding)可以包含:

base64

属性的内容用 base64 编码。

gzip+base64

属性的内容先用 base64 编码再用 gzip 压缩。

注意

seed.iso方法支持单独的(可选)network-config配置文件。VMware guestinfo网络配置的提供方式有所不同。其他信息将在下一节中提供。

如果需要明确的网络配置,则应将其以两种形式嵌入 metadata YAML 或 JSON 属性:

network

包含 JSON 或 YAML 格式的编码网络配置。

network.encoding

包含上述网络配置数据的编码。对于 guestinfo 数据,cloud-init 支持的编码是相同的:base64gzip+base64

例 使用 VMware 用于传递配置的 vSphere govc CLI 工具 guestinfo
  1. 按中所述准备meta-datauser-data、和可选network-config配置文件NoCloud (seed.iso) cloud-init 在 KVM 上对亚马逊 Linux 2023 进行配置以及 VMware

  2. 将配置文件转换为可用的格式 VMware guestinfo.

    # 'meta-data', `user-data` and `network-config` are the configuration # files in the same format that would be used by a NoCloud (seed.iso) # data source, read-them and convert them to VMware guestinfo # # The VM_NAME variable is assumed to be set to the name of the VM # It is assumed that the necessary govc environment (credentials etc...) are already set metadata=$(cat "meta-data") userdata=$(cat "user-data") if [ -e "network-config" ] ; then # We need to embed the network config inside the meta-data netconf=$(base64 -w0 "network-config") metadata=$(printf "%s\nnetwork: %s\nnetwork.encoding: base64" "$metadata" "$netconf") fi metadata=$(base64 -w0 <<< "$metadata") govc vm.change -vm "$VM_NAME" \ -e guestinfo.metadata="$metadata" \ -e guestinfo.metadata.encoding="base64" userdata=$(base64 -w0 <<< "$userdata") govc vm.change -vm "$VM_NAME" \ -e guestinfo.userdata="$userdata" \ -e guestinfo.userdata.encoding="base64"
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。