7.4. vSphere에서 컨테이너 이미지 배포 및 RHEL 가상 머신 생성
bootc-image-builder 툴을 사용하여 RHEL bootc 이미지에서 VMI(가상 머신 디스크)를 생성한 후 vSphere GUI 클라이언트를 사용하여 VMware vSphere에 배포할 수 있습니다. 배포에서 부팅하기 전에 추가로 사용자 지정할 수 있는 VM을 생성합니다.
사전 요구 사항
- 컨테이너 이미지를 생성하셨습니다. bootc-image-builder를 사용하여 QCOW2 이미지 생성 을 참조하십시오.
- 컨테이너 이미지를 액세스 가능한 리포지토리로 푸시했습니다.
govc VMware CLI 툴 클라이언트를 구성했습니다. govc VMware CLI 툴 클라이언트를 사용하려면 환경에서 다음 값을 설정해야 합니다.
- GOVC_URL
- GOVC_DATACENTER
- GOVC_FOLDER
- GOVC_DATASTORE
- GOVC_RESOURCE_POOL
- GOVC_NETWORK
프로세스
metadata.yaml파일을 생성하고 이 파일에 다음 정보를 추가합니다.instance-id: cloud-vm local-hostname: vmnameuserdata.yaml파일을 생성하고 파일에 다음 정보를 추가합니다.#cloud-config users: - name: admin sudo: "ALL=(ALL) NOPASSWD:ALL" ssh_authorized_keys: - ssh-rsa AAA...fhHQ== your.email@example.comssh_authorized_keys는 SSH 공개 키입니다. SSH 공개 키는~/.ssh/id_rsa.pub에서 찾을 수 있습니다.다음과 같이
base64로 압축된gzip으로 압축된metadata.yaml및userdata.yaml파일을 환경으로 내보냅니다. 이러한 파일을 추가 단계에서 사용합니다.export METADATA=$(gzip -c9 <metadata.yaml | { base64 -w0 2>/dev/null || base64; }) \ USERDATA=$(gzip -c9 <userdata.yaml | { base64 -w0 2>/dev/null || base64; })metadata.yaml및userdata.yaml파일을 사용하여 vSphere에서 이미지를 시작합니다..vmdk이미지를 vSphere로 가져옵니다.$ govc import.vmdk ./composer-api.vmdk <foldername>전원을 켜지 않고 vSphere에서 VM을 생성합니다.
govc vm.create \ -net.adapter=vmxnet3 \ -m=4096 -c=2 -g=rhel8_64Guest \ -firmware=bios -disk="foldername/composer-api.vmdk” \ -disk.controller=ide -on=false \ vmnameVM을 변경하여 ExtraConfig 변수 cloud-init config를 추가합니다.
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" .. Power-on the VM: govc vm.power -on vmnameVM IP 주소를 검색합니다.
HOST=$(govc vm.ip vmname)
검증
컨테이너 이미지를 실행 중인 VM에 연결합니다. 자세한 내용은 가상 머신에 연결을 참조하십시오.
cloud-init파일 구성에 지정된 user-data를 사용하여 SSH를 사용하여 VM에 로그인합니다.$ ssh admin@HOST
다음 단계
- 업데이트된 버전의 이 컨테이너 이미지를 레지스트리로 푸시하여 실행 중인 시스템에 운영 체제 업데이트를 제공할 수 있습니다. RHEL bootc 이미지 관리를 참조하십시오.
추가 리소스