2.8. マシン設定マニフェストでのカスタムファームウェアブロブの読み込み
/usr/lib 内のファームウェアブロブのデフォルトの場所は読み取り専用であるため、検索パスを更新して、カスタムファームウェアブロブを特定できます。これにより、ブロブが RHCOS によって管理されない場合に、マシン設定マニフェストでローカルファームウェアブロブを読み込むことができます。
手順
Butane 設定ファイル
98-worker-firmware-blob.buを作成します。このファイルは、root 所有でローカルストレージに書き込みできるように、検索パスを更新します。以下の例では、カスタムブロブファイルをローカルワークステーションからノードの/var/lib/firmware下に配置しています。注記設定ファイルで指定する Butane のバージョン は、OpenShift Container Platform のバージョンと同じである必要があり、末尾は常に
0です。たとえば、4.18.0です。Butane の詳細は、「Butane を使用したマシン設定の作成」を参照してください。カスタムファームウェアブロブ用の Butane 設定ファイル
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ファームウェアパッケージのコピー先となるノードのパスを設定します。
- 2
- Butane を実行しているシステムのローカルファイルディレクトリーから読み取るコンテンツを含むファイルを指定します。ローカルファイルのパスは
files-dirディレクトリーからの相対パスで、以下の手順の Butane で--files-dirオプションを使用して指定する必要があります。 - 3
- RHCOS ノードのファイルのパーミッションを設定します。
0644パーミッションを設定することが推奨されます。 - 4
firmware_class.pathパラメーターは、ローカルワークステーションからノードのルートファイルシステムにコピーされたカスタムファームウェアブロブを検索するカーネルの検索パスをカスタマイズします。この例では、/var/lib/firmwareをカスタマイズされたパスとして使用します。
Butane を実行して、ローカルワークステーション上のファームウェアブロブのコピーを使用する、
98-worker-firmware-blob.yamlという名前のMachineConfigオブジェクトファイルを生成します。ファームウェアブロブには、ノードに配信される設定が含まれます。次の例では、--files-dirオプションを使用して、ローカルファイルが存在するワークステーション上のディレクトリーを指定します。butane 98-worker-firmware-blob.bu -o 98-worker-firmware-blob.yaml --files-dir <directory_including_package_name>
$ butane 98-worker-firmware-blob.bu -o 98-worker-firmware-blob.yaml --files-dir <directory_including_package_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の 2 つの方法のいずれかで、設定をノードに適用します。
-
クラスターがまだ起動していない場合は、マニフェストファイルを生成した後に、
MachineConfigオブジェクトファイルを<installation_directory>/openshiftディレクトリーに追加してから、クラスターの作成を続行します。 クラスターがすでに実行中の場合は、ファイルを適用します。
oc apply -f 98-worker-firmware-blob.yaml
$ oc apply -f 98-worker-firmware-blob.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow MachineConfigオブジェクト YAML ファイルは、マシンの設定を終了するために作成されます。
-
クラスターがまだ起動していない場合は、マニフェストファイルを生成した後に、
-
将来的に
MachineConfigオブジェクトを更新する必要がある場合に備えて、Butane 設定を保存します。