기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
VMware 환경에는 Amazon EC2 인스턴스 메타 데이터 서비스(IMDS)가 없으므로 AL2023을 구성하는 대체 방법이 필요합니다. 이 섹션에서는 VMware vSphere에서 사용할 수 있는 seed.iso
가상 CD-ROM 드라이브에 대체 구성 메커니즘을 사용하는 방법을 설명합니다.
이 구성 방법은 VMware extraconfig
메커니즘을 사용하여에 구성 데이터를 제공합니다cloud-init
. 다음 각 키에 대해 해당
속성을 제공해야 합니다.keyname
.encoding
다음 키를 VMware extraconfig
메커니즘에 제공할 수 있습니다.
-
guestinfo.metadata
-
cloud-init
메타데이터가 포함된 JSON 또는 YAML -
guestinfo.userdata
-
cloud-config
형식의cloud-init
사용자 데이터가 포함된 YAML 설명서. -
guestinfo.vendordata
(선택 사항) -
YAML
cloud-init
공급업체 데이터 포함
해당 인코딩 속성(guestinfo.metadata.encoding
, guestinfo.userdata.encoding
및 guestinfo.vendordata.encoding
)은 다음을 포함합니다.
-
base64
-
속성의 콘텐츠는
base64
로 인코딩되어 있습니다. -
gzip+base64
-
base64
로 인코딩된 후 속성 콘텐츠가gzip
으로 압축됩니다.
참고
seed.iso
메서드는 별도의(선택 사항) network-config
구성 파일을 지원합니다.는 네트워킹 구성이 제공되는 방식에 따라 VMware guestinfo
다릅니다. 추가 정보는 다음 단원에 나와 있습니다.
명시적 네트워크 구성이 필요한 경우 다음 두 가지 YAML 또는 JSON 속성의 형태로 metadata
에 포함되어야 합니다.
-
network
-
인코딩된 네트워크 구성을 JSON 또는 YAML 형식으로 포함합니다.
-
network.encoding
-
위의 네트워크 구성 데이터의 인코딩을 포함합니다.
cloud-init
에서 지원되는 인코딩은guestinfo
데이터에 지원되는 것과 동일한base64
및gzip+base64
입니다.
예 VMware vSphere govc
CLI 도구를 사용하여 로 구성 전달 guestinfo
-
에 설명된 대로
meta-data
user-data
, 및 선택적network-config
구성 파일을 준비합니다KVM 및 VMware에서 Amazon Linux 2023 NoCloud (seed.iso) cloud-init 구성. -
구성 파일을 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"