6.4. vSphere でのコンテナーイメージのデプロイと RHEL 仮想マシンの作成
bootc-image-builder ツールを使用して RHEL bootc イメージから仮想マシンディスク (VMDK) を作成した後、vSphere GUI クライアントを使用してそれを VMware vSphere にデプロイできます。デプロイメントにより、起動前にさらにカスタマイズできる仮想マシンが作成されます。
前提条件
- コンテナーイメージを作成した。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/id_rsa.pubで SSH 公開鍵を確認できます。以下のように
gzipで圧縮し、base64でエンコードして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 に仮想マシンを作成します。
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 \ vmname仮想マシンを変更して、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" .. Power-on the VM: govc vm.power -on vmname仮想マシンの IP アドレスを取得します。
HOST=$(govc vm.ip vmname)
検証
コンテナーイメージを実行している仮想マシンに接続します。詳細は、「仮想マシンへの接続」を参照してください。
SSH を使用して、
cloud-initファイル設定に指定された user-data を使用して仮想マシンにログインします。$ ssh admin@HOST
次のステップ
- このコンテナーイメージの更新バージョンをレジストリーにプッシュして、稼働中のシステムにオペレーティングシステムの更新を配信できます。RHEL bootc イメージの管理 を参照してください。
関連情報