Menu Close

3.2.8. マシン設定マニフェストでのカスタムファームウェアブロブの読み込み

/usr/lib 内のファームウェアブロブのデフォルトの場所は読み取り専用であるため、検索パスを更新して、カスタムファームウェアブロブを特定できます。これにより、Blob が RHCOS によって管理されない場合に、マシン設定マニフェストでローカルファームウェア Blob を読み込むことができます。

手順

  1. root が所有する、ローカルストレージ に書き込み可能なように、検索パスを更新する Butane 設定ファイル 98-worker-firmware-blob.bu を作成します。以下の例では、カスタム Blob ファイルをローカルワークステーションから /var/lib/firmware の下にあるノードに配置しています。

    注記

    Butane の詳細は、「Butane を使用したマシン設定の作成」を参照してください。

    カスタムファームウェア Blob の Butane 設定ファイル

    variant: openshift
    version: 4.9.0
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 98-worker-firmware-blob
    storage:
      files:
      - path: /var/lib/firmware/<package_name> 1
        contents:
          local: <package_name> 2
        mode: 0644 3
    openshift:
      kernel_arguments:
        - 'firmware_class.path=/var/lib/firmware' 4

    1
    ファームウェアパッケージのコピー先となるノードのパスを設定します。
    2
    Butane を実行しているシステムのローカルファイルディレクトリーから読み込むコンテンツを含むファイルを指定します。ローカルファイルのパスは files-dir ディレクトリーに相対的です。これは、以下の手順の Butane で --files-dir オプションを使用して指定する必要があります。
    3
    RHCOS ノードのファイルのパーミッションを設定します。0644 パーミッションを設定することが推奨されます。
    4
    firmware_class.path パラメーターは、ローカルワークステーションからノードのルートファイルシステムにコピーされたカスタムファームウェアブロブを検索するカーネルの検索パスをカスタマイズします。この例では、/var/lib/firmware をカスタマイズされたパスとして使用します。
  2. 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>
  3. 以下の 2 つの方法のいずれかで、設定をノードに適用します。

    • クラスターがまだ起動していない場合は、マニフェストファイルを生成した後に、MachineConfig オブジェクトファイルを <installation_directory>/openshift ディレクトリーに追加してから、クラスターの作成を続行します。
    • クラスターがすでに実行中の場合は、ファイルを適用します。

      $ oc apply -f 98-worker-firmware-blob.yaml

      MachineConfig オブジェクト YAML ファイルは、マシンの設定を終了するために作成されます。

  4. 将来的に MachineConfig オブジェクトを更新する必要がある場合に備えて、Butane 設定を保存します。