9.3. cloud-init를 사용하여 VMDK 이미지에 대한 사용자 생성
VM에 로그인하려면 사용자 계정을 생성해야 합니다. 이를 위해 CLI의 단계를 수행합니다.
GUI 마법사는 cloud-init 를 지원하지 않습니다.
사전 요구 사항
govcVMware CLI 도구 클라이언트를 구성하셨습니다.govcVMware CLI 도구 클라이언트를 사용하려면 환경에서 다음 값을 설정해야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
절차
-
.vmdk이미지를 다운로드한 디렉터리에 액세스합니다. metadata.yaml이라는 파일을 생성합니다. 이 파일에 다음 정보를 추가합니다.instance-id: cloud-vm local-hostname: vmname
instance-id: cloud-vm local-hostname: vmnameCopy to Clipboard Copied! Toggle word wrap Toggle overflow userdata.yaml이라는 파일을 생성합니다. 파일에 다음 정보를 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ssh_authorized_keys는 SSH 공개 키입니다. SSH 공개 키는~/.ssh/id_rsa.pub에서 찾을 수 있습니다.
-
metadata.yaml및userdata.yaml파일을 다음과 같이base64로 인코딩된gzip으로 압축한 환경으로 내보냅니다. 다음 단계에서 사용됩니다.export METADATA=$(gzip -c9 <metadata.yaml | { base64 -w0 2>/dev/null || base64; }) \ USERDATA=$(gzip -c9 <userdata.yaml | { base64 -w0 2>/dev/null || base64; })export METADATA=$(gzip -c9 <metadata.yaml | { base64 -w0 2>/dev/null || base64; }) \ USERDATA=$(gzip -c9 <userdata.yaml | { base64 -w0 2>/dev/null || base64; })Copy to Clipboard Copied! Toggle word wrap Toggle overflow metadata.yaml및userdata.yaml파일을 사용하여 vSphere에서 이미지를 시작합니다.의
.vmdk이미지를 vSphere로 가져옵니다.govc import.vmdk ./composer-api.vmdk foldername
$ govc import.vmdk ./composer-api.vmdk foldernameCopy to Clipboard Copied! Toggle word wrap Toggle overflow VSphere에 전원을 끄지 않고 VM을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VM을 변경하여
ExtraConfig변수인cloud-init구성을 추가합니다.govc vm.change -vm vmname \ -e guestinfo.metadata="${METADATA}" \ -e guestinfo.metadata.encoding="gzip+base64" \ -e guestinfo.userdata="${USERDATA}" \ -e guestinfo.userdata.encoding="gzip+base64"govc vm.change -vm vmname \ -e guestinfo.metadata="${METADATA}" \ -e guestinfo.metadata.encoding="gzip+base64" \ -e guestinfo.userdata="${USERDATA}" \ -e guestinfo.userdata.encoding="gzip+base64"Copy to Clipboard Copied! Toggle word wrap Toggle overflow VM의 전원을 켭니다.
govc vm.power -on vmname
govc vm.power -on vmnameCopy to Clipboard Copied! Toggle word wrap Toggle overflow VM IP 주소를 검색합니다.
HOST=$(govc vm.ip vmname)
HOST=$(govc vm.ip vmname)Copy to Clipboard Copied! Toggle word wrap Toggle overflow cloud-init파일 구성에 지정된 user-data를 사용하여 VM에 SSH를 사용하여 로그인합니다.ssh admin@HOST
$ ssh admin@HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow