1.4. デバイスのプロビジョニング
テクノロジープレビュー: さまざまな環境で Red Hat Edge Manager を使用してデバイスをプロビジョニングできます。Red Hat Edge Manager で使用するためにビルドしたオペレーティングシステムイメージまたはディスクイメージを使用し、ターゲット環境に応じて、物理または仮想デバイスをプロビジョニングします。
必要なアクセス権: クラスター管理者
以下のドキュメントを参照してください。
1.4.1. 物理デバイスのプロビジョニング
テクノロジープレビュー: bootc-image-builder
ツールを使用してオペレーティングシステムイメージから ISO ディスクイメージを作成すると、そのイメージはダウンロード可能な RHEL ISO に似たものになります。ただし、オペレーティングシステムイメージの内容は ISO ディスクイメージに組み込まれています。
ネットワークにアクセスせずに ISO ディスクイメージをベアメタルシステムにインストールするには、カスタム ISO コンテナーイメージのデプロイ を参照してください。
ネットワーク経由で ISO をインストールする方法は、PXE ブートでの ISO bootc イメージのデプロイ を参照してください。
1.4.2. OpenShift Virtualization でのデバイスのプロビジョニング
テクノロジープレビュー: OCI コンテナーレジストリーでホストされている QCoW2 コンテナーディスクイメージを使用して、OpenShift Virtualization 上に仮想マシンをプロビジョニングできます。
オペレーティングシステムイメージに Red Hat Edge Manager エージェントの登録設定がまだ含まれていない場合は、プロビジョニング時に cloud-init
ユーザーデータを介して設定を注入できます。
詳細は、関連情報 セクションを参照してください。
1.4.2.1. 前提条件
-
flightctl
CLI をインストールし、Red Hat Edge Manager サービスインスタンスにログインしている。 -
oc
CLI をインストールし、これを使用して OpenShift クラスターインスタンスにログインして、仮想マシンを作成するプロジェクトに変更している。
1.4.2.2. cloud-init 設定の作成
cloud-init
設定を作成するには、以下の手順を実行します。
新しい Red Hat Edge Manager エージェントの登録設定を要求し、それを
config.yaml
というファイルに保存します。以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow flightctl certificate request --signer=enrollment --expiration=365d --output=embedded > config.yaml
flightctl certificate request --signer=enrollment --expiration=365d --output=embedded > config.yaml
初回起動時にエージェント設定を正しい場所に配置する
cloud-config.yaml
という名前のクラウド設定ユーザーデータファイルを作成します。以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat <<EOF > cloud-config.yaml #cloud-config write_files: - path: /etc/flightctl/config.yaml content: $(cat config.yaml | base64 -w0) encoding: b64 EOF
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
を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic enrollment-secret --from-file=userdata=cloud-config.yaml
oc create secret generic enrollment-secret --from-file=userdata=cloud-config.yaml
1.4.2.3. 仮想マシンの作成
QCoW2 コンテナーディスクイメージから主要なディスクを設定し、登録シークレットから設定された cloud-init
設定ドライブを持つ仮想マシンを作成します。以下の手順を実行します。
次のコマンドを実行して、
VirtualMachine
リソースマニフェストを含むファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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
以下のコマンドを実行して、リソースマニフェストをクラスターに適用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f my-bootc-vm.yaml
oc apply -f my-bootc-vm.yaml
1.4.2.4. 関連情報
-
cloud-init
ユーザーデータを使用して設定を注入する方法は、Cloud-init のドキュメント を参照してください。 - Red Hat OpenShift Virtualization のイメージビルド を参照してください。