5.2. OpenShift Virtualization でのデバイスのプロビジョニング
OCI コンテナーレジストリーでホストされる QCoW2 コンテナーディスクイメージを使用して、OpenShift Virtualization 上に仮想マシンをプロビジョニングできます。
オペレーティングシステムイメージに Red Hat Edge Manager エージェントの登録設定がまだ含まれていない場合は、プロビジョニング時に cloud-init のユーザーデータを介して設定を注入できます。
5.2.1. cloud-init 設定の作成 リンクのコピーリンクがクリップボードにコピーされました!
cloud-init 設定は、最初の起動時に仮想マシンインスタンスをカスタマイズし、Red Hat Edge Manager サービスに新しいエージェントとして自動的に登録できるようにします。
前提条件
-
flightctlCLI をインストールし、Red Hat Edge Manager サービスインスタンスにログインしている。 -
ocCLI をインストールし、それを使用して OpenShift クラスターインスタンスにログインし、仮想マシンを作成するプロジェクトに切り替えた。
手順
次のコマンドを実行して、新しい Red Hat Edge Manager エージェントの登録設定を要求し、その設定を
config.yamlという名前のファイルに保存します。flightctl certificate request --signer=enrollment --expiration=365d --output=embedded > config.yaml次のコマンドを実行して、初回起動時にエージェント設定を正しい場所に配置する、
cloud-config.yamlという名前のクラウド設定ユーザーデータファイルを作成します。cat <<EOF > cloud-config.yaml #cloud-config write_files: - path: /etc/flightctl/config.yaml content: $(cat config.yaml | base64 -w0) encoding: b64 EOFクラウド設定ユーザーデータファイルを含む Kubernetes
Secretを作成します。oc create secret generic enrollment-secret --from-file=userdata=cloud-config.yaml
5.2.2. 仮想マシンの作成 リンクのコピーリンクがクリップボードにコピーされました!
QCoW2 コンテナディスクイメージからプライマリーディスクが設定され、かつ登録用シークレットから cloud-init コンフィグドライブが設定される仮想マシンを作成します。
以下の手順を実行します。
手順
次のコマンドを実行して、
VirtualMachineリソースマニフェストを含むファイルを作成します。cat <<EOF > my-bootc-vm.yaml apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: my-bootc-vm spec: runStrategy: RerunOnFailure template: spec: domain: cpu: cores: 1 memory: guest: 1024M devices: disks: - name: containerdisk disk: bus: virtio - name: cloudinitdisk disk: bus: virtio volumes: - name: containerdisk containerDisk: image: ${OCI_DISK_IMAGE_REPO}:${OCI_IMAGE_TAG} - name: cloudinitdisk cloudInitConfigDrive: secretRef: name: enrollment-secret EOF以下のコマンドを実行して、リソースマニフェストをクラスターに適用します。
oc apply -f my-bootc-vm.yaml