VMwareAL2023 게스트 정보 cloud-init 구성 켜짐 VMware - Amazon Linux 2023

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

VMwareAL2023 게스트 정보 cloud-init 구성 켜짐 VMware

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 (선택 사항)

YAMLcloud-init공급업체 데이터 포함

해당 인코딩 속성(guestinfo.metadata.encoding, guestinfo.userdata.encodingguestinfo.vendordata.encoding)은 다음을 포함합니다.

base64

속성의 콘텐츠는 base64로 인코딩되어 있습니다.

gzip+base64

base64로 인코딩된 후 속성 콘텐츠가 gzip으로 압축됩니다.

참고

seed.iso 메서드는 별도의 (선택 사항) network-config 구성 파일을 지원합니다. VMwareguestinfo네트워킹 구성이 제공되는 방식이 다릅니다. 추가 정보는 다음 섹션에 제공됩니다.

명시적 네트워크 구성이 필요한 경우 다음 두 가지 YAML 또는 JSON 속성의 형태로 metadata에 포함되어야 합니다.

network

JSON 또는 YAML 형식으로 인코딩된 네트워크 구성을 포함합니다.

network.encoding

위 네트워크 구성 데이터의 인코딩을 포함합니다. cloud-init에서 지원되는 인코딩은 guestinfo 데이터에 지원되는 것과 동일한 base64gzip+base64입니다.

예 VMwarevSphere govc CLI 도구를 사용하여 다음과 같은 구성을 전달하는 방법 guestinfo
  1. 에 설명된 대로 meta-datauser-data, 및 선택적 network-config 구성 파일을 준비하십시오. NoCloud (seed.iso) KVM 및 VMware의 아마존 리눅스 2023용 cloud-init 구성

  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"