2.11. RHCOS のインストールおよび OpenShift Container Platform ブートストラッププロセスの開始


OpenShift Container Platform を独自にプロビジョニングするベアメタルインフラストラクチャーにインストールするには、Red Hat Enterprise Linux CoreOS (RHCOS) をマシンにインストールする必要があります。RHCOS のインストール時に、インストールするマシンのタイプについて OpenShift Container Platform インストールプログラムによって生成された Ignition 設定ファイルを指定する必要があります。適切なネットワーク、DNS、および負荷分散インフラストラクチャーが設定されている場合、OpenShift Container Platform ブートストラッププロセスは RHCOS マシンの再起動後に自動的に開始されます。

RHCOS をマシンにインストールするには、ISO イメージまたはネットワーク PXE ブートを使用する手順のいずれかを実行します。

注記

このインストールガイドに含まれるコンピュートノードのデプロイメント手順は、RHCOS 固有のものです。代わりに RHEL ベースのコンピュートノードのデプロイを選択する場合は、システム更新の実行、パッチの適用、その他すべての必要なタスクの完了など、オペレーティングシステムのライフサイクルの管理と保守をすべて担当します。RHEL8 コンピュートマシンのみがサポートされています。

以下の方法を使用して、ISO および PXE のインストール時に RHCOS を設定できます。

  • カーネル引数: カーネル引数を使用してインストール固有の情報を提供できます。たとえば、HTTP サーバーにアップロードした RHCOS インストールファイルの場所と、インストールするノードタイプの Ignition 設定ファイルの場所を指定できます。PXE インストールの場合、APPEND パラメーターを使用して、ライブインストーラーのカーネルに引数を渡すことができます。ISO インストールの場合は、ライブインストール起動プロセスを中断してカーネル引数を追加できます。いずれのインストールの場合でも、特殊な coreos.inst.* 引数を使用してライブインストーラーに指示を与えたり、標準のカーネルサービスをオンまたはオフにするために標準のインストールブート引数を使用したりできます。
  • Ignition 設定: OpenShift Container Platform Ignition 設定ファイル (*.ign) は、インストールするノードのタイプに固有のものです。RHCOS のインストール時にブートストラップ、コントロールプレーン、またはコンピュートノードの Ignition 設定ファイルの場所を渡して、初回起動時に有効にされるようにします。特別なケースでは、ライブシステムに渡すために個別の制限付き Ignition 設定を作成できます。この Ignition 設定は、インストールが正常に完了したことをプロビジョニングシステムに報告するなどの一連のタスクを実行する可能性があります。この特別な Ignition 設定は、インストール済みシステムの初回ブート時に適用される coreos-installer によって使用されます。標準のコントロールプレーンおよびコンピュートノードの Ignition 設定をライブ ISO に直接指定しないでください。
  • coreos-installer: ライブ ISO インストーラーをシェルプロンプトで起動できます。これにより、初回のブート前にさまざまな方法で永続的なシステムの準備を行うことができます。特に、coreos-installer コマンドを実行すると、追加するさまざまなアーティファクトを特定し、ディスクパーティションを使用し、ネットワークを設定できます。場合によっては、ライブシステムで機能を設定し、それらをインストールされたシステムにコピーできます。

ISO または PXE インストールを使用するかどうかは、状況によって異なります。PXE インストールには、利用可能な DHCP サービスとさらなる準備が必要ですが、インストールプロセスはさらに自動化することが可能です。ISO インストールは主に手動によるプロセスで、複数のマシンを設定する場合には使用しにくい可能性があります。

注記

OpenShift Container Platform 4.6 の時点で、RHCOS ISO およびその他のインストールアーティファクトは、4K セクターのディスクへのインストールをサポートします。

2.11.1. ISO イメージを使用した RHCOS のインストール

ISO イメージを使用してマシンに RHCOS をインストールできます。

前提条件

  • クラスターの Ignition 設定ファイルを作成している。
  • 適切なネットワーク、DNS および負荷分散インフラストラクチャーを設定している。
  • お使いのコンピューターからアクセスでき、作成するマシンからもアクセスできる HTTP サーバーがある。
  • ネットワークやディスクパーティションなどのさまざまな機能の設定方法について、高度な RHCOS インストール設定のセクションを確認している。

手順

  1. それぞれの Ignition 設定ファイルの SHA512 ダイジェストを取得します。たとえば、Linux を実行しているシステムで以下を使用して、bootstrap.ign Ignition 設定ファイルの SHA512 ダイジェストを取得できます。

    $ sha512sum <installation_directory>/bootstrap.ign

    ダイジェストは、クラスターノードの Ignition 設定ファイルの信頼性を検証するために、後の手順で coreos-installer に提供されます。

  2. インストールプログラムが作成したブートストラップ、コントロールプレーン、およびコンピュートノード Ignition 設定ファイルを HTTP サーバーにアップロードします。これらのファイルの URL をメモします。

    重要

    HTTP サーバーに保存する前に、Ignition 設定で設定内容を追加したり、変更したりできます。インストールの完了後にコンピュートマシンをさらにクラスターに追加する予定の場合には、これらのファイルを削除しないでください。

  3. インストールホストから、Ignition 設定ファイルが URL で利用可能であることを確認します。以下の例では、ブートストラップノードの Ignition 設定ファイルを取得します。

    $ curl -k http://<HTTP_server>/bootstrap.ign 1

    出力例

      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0{"ignition":{"version":"3.2.0"},"passwd":{"users":[{"name":"core","sshAuthorizedKeys":["ssh-rsa...

    コマンドで bootstrap.ignmaster.ign または worker.ign に置き換え、コントロールプレーンおよびコンピュートノードの Ignition 設定ファイルも利用可能であることを検証します。

  4. RHCOS イメージのミラー ページから、オペレーティングシステムインスタンスをインストールするための推奨される方法に必要な RHCOS イメージを取得することは可能ですが、RHCOS イメージの正しいバージョンを取得するための推奨される方法は、openshift-install コマンドの出力から取得することです。

    $ openshift-install coreos print-stream-json | grep '\.iso[^.]'

    出力例

    "location": "<url>/art/storage/releases/rhcos-4.14-aarch64/<release>/aarch64/rhcos-<release>-live.aarch64.iso",
    "location": "<url>/art/storage/releases/rhcos-4.14-ppc64le/<release>/ppc64le/rhcos-<release>-live.ppc64le.iso",
    "location": "<url>/art/storage/releases/rhcos-4.14-s390x/<release>/s390x/rhcos-<release>-live.s390x.iso",
    "location": "<url>/art/storage/releases/rhcos-4.14/<release>/x86_64/rhcos-<release>-live.x86_64.iso",

    重要

    RHCOS イメージは OpenShift Container Platform の各リリースごとに変更されない可能性があります。インストールする OpenShift Container Platform バージョンと等しいか、それ以下のバージョンの内で最も新しいバージョンのイメージをダウンロードする必要があります。利用可能な場合は、OpenShift Container Platform バージョンに一致するイメージのバージョンを使用します。この手順には ISO イメージのみを使用します。RHCOS qcow2 イメージは、このインストールではサポートされません。

    ISO ファイルの名前は以下の例のようになります。

    rhcos-<version>-live.<architecture>.iso

  5. ISO を使用し、RHCOS インストールを開始します。以下のインストールオプションのいずれかを使用します。

    • ディスクに ISO イメージを書き込み、これを直接起動します。
    • Lights Out Management (LOM) インターフェイスを使用して ISO リダイレクトを使用します。
  6. オプションを指定したり、ライブ起動シーケンスを中断したりせずに、RHCOS ISO イメージを起動します。インストーラーが RHCOS ライブ環境でシェルプロンプトを起動するのを待ちます。

    注記

    RHCOS インストール起動プロセスを中断して、カーネル引数を追加できます。ただし、この ISO 手順では、カーネル引数を追加する代わりに、以下の手順で説明しているように coreos-installer コマンドを使用する必要があります。

  7. coreos-installer コマンドを実行し、インストール要件を満たすオプションを指定します。少なくとも、ノードタイプの Ignition 設定ファイルを参照する URL と、インストール先のデバイスを指定する必要があります。

    $ sudo coreos-installer install --ignition-url=http://<HTTP_server>/<node_type>.ign <device> --ignition-hash=sha512-<digest> 12
    1 1
    コア ユーザーにはインストールを実行するために必要な root 権限がないため、sudo を使用して coreos-installer コマンドを実行する必要があります。
    2
    --ignition-hash オプションは、Ignition 設定ファイルを HTTP URL を使用して取得し、クラスターノードの Ignition 設定ファイルの信頼性を検証するために必要です。<digest> は、先の手順で取得した Ignition 設定ファイル SHA512 ダイジェストです。
    注記

    TLS を使用する HTTPS サーバーを使用して Ignition 設定ファイルを提供する場合は、coreos-installer を実行する前に、内部認証局 (CA) をシステムのトラストストアに追加できます。

    以下の例では、/dev/sda デバイスへのブートストラップノードのインストールを初期化します。ブートストラップノードの Ignition 設定ファイルは、IP アドレス 192.168.1.2 で HTTP Web サーバーから取得されます。

    $ sudo coreos-installer install --ignition-url=http://192.168.1.2:80/installation_directory/bootstrap.ign /dev/sda --ignition-hash=sha512-a5a2d43879223273c9b60af66b44202a1d1248fc01cf156c46d4a79f552b6bad47bc8cc78ddf0116e80c59d2ea9e32ba53bc807afbca581aa059311def2c3e3b
  8. マシンのコンソールで RHCOS インストールの進捗を監視します。

    重要

    OpenShift Container Platform のインストールを開始する前に、各ノードでインストールが成功していることを確認します。インストールプロセスを監視すると、発生する可能性のある RHCOS インストールの問題の原因を特定する上でも役立ちます。

  9. RHCOS のインストール後、システムを再起動する必要があります。システムの再起動後、指定した Ignition 設定ファイルを適用します。
  10. コンソール出力をチェックして、Ignition が実行されたことを確認します。

    コマンドの例

    Ignition: ran on 2022/03/14 14:48:33 UTC (this boot)
    Ignition: user-provided config was applied

  11. 継続してクラスターの他のマシンを作成します。

    重要

    この時点でブートストラップおよびコントロールプレーンマシンを作成する必要があります。コントロールプレーンマシンがデフォルトのスケジュール対象にされていない場合、OpenShift Container Platform のインストール前に少なくとも 2 つのコンピュートマシンも作成します。

    必要なネットワーク、DNS、およびロードバランサーインフラストラクチャーが配置されている場合、OpenShift Container Platform ブートストラッププロセスは RHCOS ノードの再起動後に自動的に起動します。

    注記

    RHCOS ノードには、core ユーザーのデフォルトのパスワードは含まれません。ノードには、ssh core@<node>.<cluster_name>.<base_domain> を、install_config.yaml ファイルで指定したパブリックキーとペアになる SSH プライベートキーへのアクセスのあるユーザーとして実行してアクセスできます。RHCOS を実行する OpenShift Container Platform 4 クラスターノードは変更できず、Operator を使用してクラスターの変更を適用します。SSH を使用したクラスターノードへのアクセスは推奨されません。ただし、インストールの問題を調査する際に、OpenShift Container Platform API が利用できない場合や、kubelet がターゲットノードで適切に機能しない場合、デバッグまたは障害復旧に SSH アクセスが必要になることがあります。

2.11.2. PXE または iPXE ブートを使用した RHCOS のインストール

PXE または iPXE ブートを使用してマシンに RHCOS をインストールできます。

前提条件

  • クラスターの Ignition 設定ファイルを作成している。
  • 適切なネットワーク、DNS および負荷分散インフラストラクチャーを設定している。
  • 適切な PXE または iPXE インフラストラクチャーを設定していること。
  • お使いのコンピューターからアクセスでき、作成するマシンからもアクセスできる HTTP サーバーがある。
  • ネットワークやディスクパーティションなどのさまざまな機能の設定方法について、高度な RHCOS インストール設定のセクションを確認している。

手順

  1. インストールプログラムが作成したブートストラップ、コントロールプレーン、およびコンピュートノード Ignition 設定ファイルを HTTP サーバーにアップロードします。これらのファイルの URL をメモします。

    重要

    HTTP サーバーに保存する前に、Ignition 設定で設定内容を追加したり、変更したりできます。インストールの完了後にコンピュートマシンをさらにクラスターに追加する予定の場合には、これらのファイルを削除しないでください。

  2. インストールホストから、Ignition 設定ファイルが URL で利用可能であることを確認します。以下の例では、ブートストラップノードの Ignition 設定ファイルを取得します。

    $ curl -k http://<HTTP_server>/bootstrap.ign 1

    出力例

      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0{"ignition":{"version":"3.2.0"},"passwd":{"users":[{"name":"core","sshAuthorizedKeys":["ssh-rsa...

    コマンドで bootstrap.ignmaster.ign または worker.ign に置き換え、コントロールプレーンおよびコンピュートノードの Ignition 設定ファイルも利用可能であることを検証します。

  3. RHCOS イメージミラー ページからオペレーティングシステムインスタンスをインストールするための推奨される方法に必要な RHCOS kernelinitramfs、および rootfs ファイルを取得することは可能ですが、RHCOS ファイルの正しいバージョンを取得するための推奨される方法は、openshift-install コマンドの出力から取得することです。

    $ openshift-install coreos print-stream-json | grep -Eo '"https.*(kernel-|initramfs.|rootfs.)\w+(\.img)?"'

    出力例

    "<url>/art/storage/releases/rhcos-4.14-aarch64/<release>/aarch64/rhcos-<release>-live-kernel-aarch64"
    "<url>/art/storage/releases/rhcos-4.14-aarch64/<release>/aarch64/rhcos-<release>-live-initramfs.aarch64.img"
    "<url>/art/storage/releases/rhcos-4.14-aarch64/<release>/aarch64/rhcos-<release>-live-rootfs.aarch64.img"
    "<url>/art/storage/releases/rhcos-4.14-ppc64le/49.84.202110081256-0/ppc64le/rhcos-<release>-live-kernel-ppc64le"
    "<url>/art/storage/releases/rhcos-4.14-ppc64le/<release>/ppc64le/rhcos-<release>-live-initramfs.ppc64le.img"
    "<url>/art/storage/releases/rhcos-4.14-ppc64le/<release>/ppc64le/rhcos-<release>-live-rootfs.ppc64le.img"
    "<url>/art/storage/releases/rhcos-4.14-s390x/<release>/s390x/rhcos-<release>-live-kernel-s390x"
    "<url>/art/storage/releases/rhcos-4.14-s390x/<release>/s390x/rhcos-<release>-live-initramfs.s390x.img"
    "<url>/art/storage/releases/rhcos-4.14-s390x/<release>/s390x/rhcos-<release>-live-rootfs.s390x.img"
    "<url>/art/storage/releases/rhcos-4.14/<release>/x86_64/rhcos-<release>-live-kernel-x86_64"
    "<url>/art/storage/releases/rhcos-4.14/<release>/x86_64/rhcos-<release>-live-initramfs.x86_64.img"
    "<url>/art/storage/releases/rhcos-4.14/<release>/x86_64/rhcos-<release>-live-rootfs.x86_64.img"

    重要

    RHCOS アーティファクトは OpenShift Container Platform の各リリースごとに変更されない可能性があります。インストールする OpenShift Container Platform バージョンと等しいか、それ以下のバージョンの内で最も新しいバージョンのイメージをダウンロードする必要があります。この手順で説明されている適切な kernelinitramfs、および rootfs アーティファクトのみを使用します。RHCOS QCOW2 イメージは、このインストールタイプではサポートされません。

    ファイル名には、OpenShift Container Platform のバージョン番号が含まれます。以下の例のようになります。

    • kernel: rhcos-<version>-live-kernel-<architecture>
    • initramfs: rhcos-<version>-live-initramfs.<architecture>.img
    • rootfs: rhcos-<version>-live-rootfs.<architecture>.img
  4. rootfskernel、および initramfs ファイルを HTTP サーバーにアップロードします。

    重要

    インストールの完了後にコンピュートマシンをさらにクラスターに追加する予定の場合には、これらのファイルを削除しないでください。

  5. RHCOS のインストール後にマシンがローカルディスクから起動されるようにネットワークブートインフラストラクチャーを設定します。
  6. RHCOS イメージの PXE または iPXE インストールを設定し、インストールを開始します。

    ご使用の環境に関する以下の例で示されるメニューエントリーのいずれかを変更し、イメージおよび Ignition ファイルが適切にアクセスできることを確認します。

    • PXE(x86_64) の場合:

      DEFAULT pxeboot
      TIMEOUT 20
      PROMPT 0
      LABEL pxeboot
          KERNEL http://<HTTP_server>/rhcos-<version>-live-kernel-<architecture> 1
          APPEND initrd=http://<HTTP_server>/rhcos-<version>-live-initramfs.<architecture>.img coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/bootstrap.ign 2 3
      1 1
      HTTP サーバーにアップロードしたライブ kernel ファイルの場所を指定します。URL は HTTP、TFTP、または FTP である必要があります。HTTPS および NFS はサポートされません。
      2
      複数の NIC を使用する場合、ip オプションに単一インターフェイスを指定します。たとえば、eno1 という名前の NIC で DHCP を使用するには、ip=eno1:dhcp を設定します。
      3
      HTTP サーバーにアップロードした RHCOS ファイルの場所を指定します。initrd パラメーター値は initramfs ファイルの場所であり、coreos.live.rootfs_url パラメーター値は rootfs ファイルの場所、また coreos.inst.ignition_url パラメーター値はブートストラップ Ignition 設定ファイルの場所になります。APPEND 行にカーネル引数を追加して、ネットワークやその他の起動オプションを設定することもできます。
      注記

      この設定では、グラフィカルコンソールを使用するマシンでシリアルコンソールアクセスを有効にしません。別のコンソールを設定するには、APPEND 行に 1 つ以上の console= 引数を追加します。たとえば、console=tty0 console=ttyS0 を追加して、最初の PC シリアルポートをプライマリーコンソールとして、グラフィカルコンソールをセカンダリーコンソールとして設定します。詳細は、How does one set up a serial terminal and/or console in Red Hat Enterprise Linux? と、「高度な RHCOS インストール設定」セクションの「PXE および ISO インストール用シリアルコンソールの有効化」を参照してください。

    • iPXE (x86_64 + aarch64) の場合:

      kernel http://<HTTP_server>/rhcos-<version>-live-kernel-<architecture> initrd=main coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/bootstrap.ign 1 2
      initrd --name main http://<HTTP_server>/rhcos-<version>-live-initramfs.<architecture>.img 3
      boot
      1
      HTTP サーバーにアップロードした RHCOS ファイルの場所を指定します。kernel パラメーター値は kernel ファイルの場所であり、initrd=main 引数は UEFI システムでの起動に必要であり、coreos.live.rootfs_url パラメーター値は rootfs ファイルの場所であり、coreos.inst.ignition_url パラメーター値はブートストラップ Ignition 設定ファイルの場所になります。
      2
      複数の NIC を使用する場合、ip オプションに単一インターフェイスを指定します。たとえば、eno1 という名前の NIC で DHCP を使用するには、ip=eno1:dhcp を設定します。
      3
      HTTP サーバーにアップロードした initramfs ファイルの場所を指定します。
      注記

      この設定では、グラフィカルコンソールを使用するマシンでシリアルコンソールアクセスを有効にしません。別のコンソールを設定するには、kernel 行に console= 引数を 1 つ以上追加します。たとえば、console=tty0 console=ttyS0 を追加して、最初の PC シリアルポートをプライマリーコンソールとして、グラフィカルコンソールをセカンダリーコンソールとして設定します。詳細は、How does one set up a serial terminal and/or console in Red Hat Enterprise Linux? と、「高度な RHCOS インストール設定」セクションの「PXE および ISO インストール用シリアルコンソールの有効化」を参照してください。

      注記

      aarch64 アーキテクチャーで CoreOS kernel をネットワークブートするには、IMAGE_GZIP オプションが有効になっているバージョンの iPXE ビルドを使用する必要があります。iPXE の IMAGE_GZIP オプション を参照してください。

    • aarch64 上の PXE (第 2 段階として UEFI と Grub を使用) の場合:

      menuentry 'Install CoreOS' {
          linux rhcos-<version>-live-kernel-<architecture>  coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/bootstrap.ign 1 2
          initrd rhcos-<version>-live-initramfs.<architecture>.img 3
      }
      1
      HTTP/TFTP サーバーにアップロードした RHCOS ファイルの場所を指定します。kernel パラメーター値は、TFTP サーバー上の kernel ファイルの場所になります。coreos.live.rootfs_url パラメーター値は rootfs ファイルの場所であり、coreos.inst.ignition_url パラメーター値は HTTP サーバー上のブートストラップ Ignition 設定ファイルの場所になります。
      2
      複数の NIC を使用する場合、ip オプションに単一インターフェイスを指定します。たとえば、eno1 という名前の NIC で DHCP を使用するには、ip=eno1:dhcp を設定します。
      3
      TFTP サーバーにアップロードした initramfs ファイルの場所を指定します。
  7. マシンのコンソールで RHCOS インストールの進捗を監視します。

    重要

    OpenShift Container Platform のインストールを開始する前に、各ノードでインストールが成功していることを確認します。インストールプロセスを監視すると、発生する可能性のある RHCOS インストールの問題の原因を特定する上でも役立ちます。

  8. RHCOS のインストール後に、システムは再起動します。再起動中、システムは指定した Ignition 設定ファイルを適用します。
  9. コンソール出力をチェックして、Ignition が実行されたことを確認します。

    コマンドの例

    Ignition: ran on 2022/03/14 14:48:33 UTC (this boot)
    Ignition: user-provided config was applied

  10. クラスターのマシンの作成を続行します。

    重要

    この時点でブートストラップおよびコントロールプレーンマシンを作成する必要があります。コントロールプレーンマシンがデフォルトのスケジュール対象にされていない場合、クラスターのインストール前に少なくとも 2 つのコンピュートマシンを作成します。

    必要なネットワーク、DNS、およびロードバランサーインフラストラクチャーが配置されている場合、OpenShift Container Platform ブートストラッププロセスは RHCOS ノードの再起動後に自動的に起動します。

    注記

    RHCOS ノードには、core ユーザーのデフォルトのパスワードは含まれません。ノードには、ssh core@<node>.<cluster_name>.<base_domain> を、install_config.yaml ファイルで指定したパブリックキーとペアになる SSH プライベートキーへのアクセスのあるユーザーとして実行してアクセスできます。RHCOS を実行する OpenShift Container Platform 4 クラスターノードは変更できず、Operator を使用してクラスターの変更を適用します。SSH を使用したクラスターノードへのアクセスは推奨されません。ただし、インストールの問題を調査する際に、OpenShift Container Platform API が利用できない場合や、kubelet がターゲットノードで適切に機能しない場合、デバッグまたは障害復旧に SSH アクセスが必要になることがあります。

2.11.3. 高度な RHCOS インストール設定

OpenShift Container Platform 用の Red Hat Enterprise Linux CoreOS (RHCOS) ノードを手動でプロビジョニングする主な利点として、デフォルトの OpenShift Container Platform インストール方法では利用できない設定を実行できることがあります。このセクションでは、以下のような手法で実行できるいくつかの設定を説明します。

  • カーネル引数をライブインストーラーに渡す
  • ライブシステムからの coreos-installer の手動による実行
  • ライブ ISO または PXE ブートイメージのカスタマイズ

このセクションで説明されている手動の Red Hat Enterprise Linux CoreOS (RHCOS) インストールの高度な設定トピックは、ディスクパーティション設定、ネットワーク、および複数の異なる方法での Ignition 設定の使用に関連しています。

2.11.3.1. PXE および ISO インストールの高度なネットワークオプションの使用

OpenShift Container Platform ノードのネットワークはデフォルトで DHCP を使用して、必要な設定をすべて収集します。静的 IP アドレスを設定したり、ボンディングなどの特別な設定を行う場合は、以下のいずれかの方法で実行できます。

  • ライブインストーラーの起動時に、特別なカーネルパラメーターを渡します。
  • マシン設定を使用してネットワークファイルをインストール済みシステムにコピーします。
  • ライブインストーラーのシェルプロンプトからネットワークを設定し、それらの設定をインストール済みシステムにコピーして、インストール済みシステムの初回起動時に有効になるようにします。

PXE または iPXE インストールを設定するには、以下のオプションのいずれかを使用します。

  • 「詳細な RHCOS インストールリファレンスの表」を参照してください。
  • マシン設定を使用してネットワークファイルをインストール済みシステムにコピーします。

ISO インストールを設定するには、以下の手順に従います。

手順

  1. ISO インストーラーを起動します。
  2. ライブシステムシェルプロンプトから、nmcli または nmtui などの利用可能な RHEL ツールを使用して、ライブシステムのネットワークを設定します。
  3. coreos-installer コマンドを実行してシステムをインストールし、--copy-network オプションを追加してネットワーク設定をコピーします。以下に例を示します。

    $ sudo coreos-installer install --copy-network \
         --ignition-url=http://host/worker.ign /dev/disk/by-id/scsi-<serial_number>
    重要

    --copy-network オプションは、/etc/NetworkManager/system-connections にあるネットワーク設定のみをコピーします。特に、システムのホスト名はコピーされません。

  4. インストール済みのシステムで再起動します。

関連情報

2.11.3.2. ディスクパーティション設定

ディスクパーティションは、Red Hat Enterprise Linux CoreOS (RHCOS) のインストール時に OpenShift Container Platform クラスターノードに作成されます。デフォルトのパーティション設定をオーバーライドしない限り、特定のアーキテクチャーの各 RHCOS ノードで同じパーティションレイアウトが使用されます。RHCOS のインストール時に、ルートファイルシステムのサイズが拡大し、ターゲットデバイスの残りの使用可能なスペースが使用されます。

重要

ノードでカスタムパーティションスキームを使用すると、OpenShift Container Platform が一部のノードパーティションでモニタリングやアラートを行わなくなる可能性があります。デフォルトのパーティション設定をオーバーライドする場合は、OpenShift Container Platform がホストファイルシステムを監視する方法の詳細について Understanding OpenShift File System Monitoring (eviction conditions) を参照してください。

OpenShift Container Platform は、次の 2 つのファイルシステム識別子を監視します。

  • nodefs: /var/lib/kubelet を含むファイルシステム
  • imagefs: /var/lib/containers を含むファイルシステム

デフォルトのパーティションスキームの場合、nodefsimagefs は同じルートファイルシステム (/) を監視します。

RHCOS を OpenShift Container Platform クラスターノードにインストールするときにデフォルトのパーティション設定をオーバーライドするには、別のパーティションを作成する必要があります。コンテナーとコンテナーイメージ用に別のストレージパーティションを追加する状況を考えてみましょう。たとえば、/var/lib/containers を別のパーティションにマウントすると、kubelet が /var/lib/containersimagefs ディレクトリーとして、ルートファイルシステムを nodefs ディレクトリーとして個別に監視します。

重要

より大きなファイルシステムをホストするためにディスクサイズを変更した場合は、別の /var/lib/containers パーティションを作成することを検討してください。多数の割り当てグループによって発生する CPU 時間の問題を軽減するには、xfs 形式のディスクのサイズを変更することを検討してください。

2.11.3.2.1. 個別の /var パーティションの作成

通常は、RHCOS のインストール時に作成されるデフォルトのディスクパーティションを使用する必要があります。ただし、拡張するディレクトリーの個別のパーティションの作成が必要となる場合もあります。

OpenShift Container Platform は、ストレージを /var ディレクトリーまたは /var のサブディレクトリーのいずれかに割り当てる単一のパーティションの追加をサポートします。以下に例を示します。

  • /var/lib/containers: イメージやコンテナーがシステムにさらに追加されると拡張するコンテナー関連のコンテンツを保持します。
  • /var/lib/etcd: etcd ストレージのパフォーマンスの最適化などの目的で分離する必要のあるデータを保持します。
  • /var: 監査などの目的に合わせて分離させる必要のあるデータを保持します。

    重要

    ディスクサイズが 100 GB を超える場合、特に 1 TB を超える場合は、別の /var パーティションを作成します。

/var ディレクトリーのコンテンツを個別に保存すると、必要に応じてこれらの領域のストレージの拡大を容易にし、後で OpenShift Container Platform を再インストールして、そのデータをそのまま保持することができます。この方法では、すべてのコンテナーを再度プルする必要はありません。また、システムの更新時に大きなログファイルをコピーする必要もありません。

/var ディレクトリーまたは /var のサブディレクトリーの個別のパーティションを使用すると、パーティション設定されたディレクトリーでのデータの増加によりルートファイルシステムが一杯になることを避けることもできます。

以下の手順では、インストールの準備フェーズでノードタイプの Ignition 設定ファイルにラップされるマシン設定マニフェストを追加して、別の /var パーティションを設定します。

手順

  1. インストールホストで、OpenShift Container Platform のインストールプログラムが含まれるディレクトリーに切り替え、クラスターの Kubernetes マニフェストを生成します。

    $ openshift-install create manifests --dir <installation_directory>
  2. 追加のパーティションを設定する Butane 設定を作成します。たとえば、$HOME/clusterconfig/98-var-partition.bu ファイルに名前を付け、ディスクのデバイス名を worker システムのストレージデバイスの名前に変更し、必要に応じてストレージサイズを設定します。以下の例では、/var ディレクトリーを別のパーティションにマウントします。

    variant: openshift
    version: 4.14.0
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 98-var-partition
    storage:
      disks:
      - device: /dev/disk/by-id/<device_name> 1
        partitions:
        - label: var
          start_mib: <partition_start_offset> 2
          size_mib: <partition_size> 3
          number: 5
      filesystems:
        - device: /dev/disk/by-partlabel/var
          path: /var
          format: xfs
          mount_options: [defaults, prjquota] 4
          with_mount_unit: true
    1
    パーティションを設定する必要のあるディスクのストレージデバイス名。
    2
    データパーティションをブートディスクに追加する場合は、25000 のメビバイトの最小のオフセット値が推奨されます。ルートファイルシステムは、指定したオフセットまでの利用可能な領域をすべて埋めるためにサイズを自動的に変更します。オフセット値の指定がない場合や、指定した値が推奨される最小値よりも小さい場合、生成されるルートファイルシステムのサイズは小さ過ぎるため、RHCOS の再インストールでデータパーティションの最初の部分が上書きされる可能性があります。
    3
    データパーティションのサイズ (メビバイト単位)。
    4
    コンテナーストレージに使用されるファイルシステムでは、prjquota マウントオプションを有効にする必要があります。
    注記

    個別の /var パーティションを作成する場合、異なるインスタンスタイプに同じデバイス名がない場合は、コンピュートノードに異なるインスタンスタイプを使用することはできません。

  3. Butane config からマニフェストを作成し、clusterconfig/openshift ディレクトリーに保存します。たとえば、以下のコマンドを実行します。

    $ butane $HOME/clusterconfig/98-var-partition.bu -o $HOME/clusterconfig/openshift/98-var-partition.yaml
  4. Ignition 設定ファイルを作成します。

    $ openshift-install create ignition-configs --dir <installation_directory> 1
    1
    <installation_directory> には、同じインストールディレクトリーを指定します。

    Ignition 設定ファイルは、インストールディレクトリー内のブートストラップ、コントロールプレーン、およびコンピュートノード用に作成されます。

    .
    ├── auth
    │   ├── kubeadmin-password
    │   └── kubeconfig
    ├── bootstrap.ign
    ├── master.ign
    ├── metadata.json
    └── worker.ign

    <installation_directory>/manifest ディレクトリーおよび <installation_directory>/openshift ディレクトリーのファイルは、98-var-partition カスタム MachineConfig オブジェクトが含まれるファイルを含む Ignition 設定ファイルにラップされます。

次のステップ

  • RHCOS のインストール時に Ignition 設定ファイルを参照して、カスタムディスクのパーティション設定を適用することができます。
2.11.3.2.2. 既存パーティションの保持

ISO インストールの場合は、インストーラーに 1 つ以上の既存パーティションを維持させる coreos-installer コマンドにオプションを追加することができます。PXE インストールの場合、coreos.inst.* オプションを APPEND パラメーターに追加して、パーティションを保持できます。

保存したパーティションは、既存の OpenShift Container Platform システムからのデータパーティションである可能性があります。パーティションラベルまたは番号のいずれかで保持する必要のあるディスクパーティションを特定できます。

注記

既存のパーティションを保存し、それらのパーティションが RHCOS の十分な領域を残さない場合、インストールは失敗します。この場合、保存したパーティションが破損することはありません。

ISO インストール時の既存パーティションの保持

この例では、パーティションラベルが data (data*) で始まるパーティションを保持します。

# coreos-installer install --ignition-url http://10.0.2.2:8080/user.ign \
        --save-partlabel 'data*' /dev/disk/by-id/scsi-<serial_number>

以下の例では、ディスク上の 6 番目のパーティションを保持する方法で coreos-installer を実行する方法を説明しています。

# coreos-installer install --ignition-url http://10.0.2.2:8080/user.ign \
        --save-partindex 6 /dev/disk/by-id/scsi-<serial_number>

この例では、パーティション 5 以上を保持します。

# coreos-installer install --ignition-url http://10.0.2.2:8080/user.ign
        --save-partindex 5- /dev/disk/by-id/scsi-<serial_number>

パーティションの保存が使用された以前の例では、coreos-installer はパーティションをすぐに再作成します。

PXE インストール時の既存パーティションの保持

この APPEND オプションは、パーティションラベルが 'data' ('data*') で始まるパーティションを保持します。

coreos.inst.save_partlabel=data*

この APPEND オプションは、パーティション 5 以上を保持します。

coreos.inst.save_partindex=5-

この APPEND オプションは、パーティション 6 を保持します。

coreos.inst.save_partindex=6

2.11.3.3. Ignition 設定の特定

RHCOS の手動インストールを実行する場合、提供できる Ignition 設定には 2 つのタイプがあり、それぞれを提供する理由もそれぞれ異なります。

  • Permanent install Ignition config: すべての手動の RHCOS インストールは、bootstrap.ignmaster.ign、および worker.ign などの openshift-installer が生成した Ignition 設定ファイルのいずれかを渡し、インストールを実行する必要があります。

    重要

    これらの Ignition 設定ファイルを直接変更することは推奨されません。前述のセクションの例で説明されているように、Ignition 設定ファイルにラップされるマニフェストファイルを更新できます。

    PXE インストールの場合、coreos.inst.ignition_url= オプションを使用して、APPEND 行に Ignition 設定を渡します。ISO インストールの場合、シェルプロンプトで ISO を起動した後に、--ignition-url= オプションを指定した coreos-installer コマンドラインで Ignition 設定を特定します。いずれの場合も、HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。

  • Live install Ignition config: このタイプは、coreos-installer customize サブコマンドとそのさまざまなオプションを使用して作成できます。この方法では、Ignition 設定はライブインストールメディアに渡され、起動直後に実行され、RHCOS システムがディスクにインストールされる前または後にセットアップタスクを実行します。この方法は、マシン設定を使用して実行できない高度なパーティション設定など、一度の適用後に再度適用する必要のないタスクの実行にのみ使用する必要があります。

    PXE または ISO ブートの場合、Ignition 設定を作成し、ignition.config.url= オプションに対して APPEND を実行し、Ignition 設定の場所を特定できます。また、ignition.firstboot ignition.platform.id=metal も追加する必要があります。追加しない場合は、ignition.config.url が無視されます。

2.11.3.4. デフォルトのコンソール設定

OpenShift Container Platform 4.14 ブートイメージからインストールされた Red Hat Enterprise Linux CoreOS (RHCOS) ノードは、ほとんどの仮想化セットアップおよびベアメタルセットアップに対応するためのデフォルトコンソールを使用します。クラウドおよび仮想化プラットフォームが異なれば、選択したアーキテクチャーに応じて、異なるデフォルト設定が使用される場合があります。ベアメタルインストールではカーネルのデフォルト設定が使用されます。これは通常、グラフィカルコンソールがプライマリーコンソールで、シリアルコンソールが無効になっていることを意味します。

デフォルトのコンソールが特定のハードウェア設定と一致しない場合や、デフォルトのコンソールを調整する必要がある特定のニーズがある場合があります。以下に例を示します。

  • デバッグ目的で、コンソールの緊急シェルにアクセスしたいと考えています。
  • クラウドプラットフォームは、グラフィカルコンソールへの対話型アクセスを提供しませんが、シリアルコンソールを提供します。
  • 複数のコンソールを有効にしたい。

コンソール設定は、ブートイメージから継承されます。これは、既存のクラスター内の新しいノードが、デフォルトのコンソールへの変更の影響を受けないことを意味します。

次の方法で、ベアメタルインストール用にコンソールを設定できます。

  • コマンドラインで手動で coreos-installer を使用する。
  • --dest-console オプションを指定した coreos-installer iso customize または coreos-installer pxe customize サブコマンドを使用して、プロセスを自動化するカスタムイメージを作成します。
注記

高度なカスタマイズを行うには、カーネル引数ではなく、coreos-installer iso または coreos-installer pxe サブコマンドを使用してコンソール設定を実行します。

2.11.3.5. PXE および ISO インストール用のシリアルコンソールの有効化

デフォルトでは、Red Hat Enterprise Linux CoreOS (RHCOS) シリアルコンソールは無効になっており、すべての出力はグラフィカルコンソールに書き込まれます。ISO インストール用にシリアルコンソールを有効にし、シリアルコンソールとグラフィカルコンソールの両方に出力が送信されるようにブートローダーを再設定できます。

手順

  1. ISO インストーラーを起動します。
  2. coreos-installer コマンドを実行してシステムをインストールし、--console オプションを 1 回追加してグラフィカルコンソールを指定し、2 回目にシリアルコンソールを指定します。

    $ coreos-installer install \
      --console=tty0 \1
      --console=ttyS0,<options> \2
      --ignition-url=http://host/worker.ign /dev/disk/by-id/scsi-<serial_number>
    1
    望ましい 2 番目のコンソール。この場合は、グラフィカルコンソールです。このオプションを省略すると、グラフィカルコンソールが無効になります。
    2
    望ましいひとつ目のコンソール。この場合、シリアルコンソールです。options フィールドは、ボーレートとその他の設定を定義します。このフィールドの一般的な値は 11520n8 です。オプションが指定されていない場合、デフォルトのカーネル値である 9600n8 が使用されます。このオプションの形式の詳細は、Linux カーネルシリアルコンソール のドキュメントを参照してください。
  3. インストール済みのシステムで再起動します。

    注記

    coreos-installer install --append-karg オプションを使用し、console= でコンソールを指定すると、同様の結果が得られます。ただし、これはカーネルのコンソールのみを設定し、ブートローダーは設定しません。

PXE インストールを設定するには、coreos.inst.install_dev カーネルコマンドラインオプションが省略されていることを確認し、シェルプロンプトを使用して、上記の ISO インストール手順を使用して手動で coreos-installer を実行します。

2.11.3.6. ライブ RHCOS ISO または PXE インストールのカスタマイズ

ライブ ISO イメージまたは PXE 環境を使用して、Ignition 設定ファイルをイメージに直接挿入することで RHCOS をインストールできます。これにより、システムのプロビジョニングに使用できるカスタマイズされたイメージが作成されます。

ISO イメージの場合、これを行うメカニズムは coreos-installer iso customize サブコマンドです。これは設定に合わせて .iso ファイルを変更します。同様に、PXE 環境のメカニズムは、カスタマイズを含む新しい initramfs ファイルを作成する coreos-installer pxe customize サブコマンドです。

customize サブコマンドは、他のタイプのカスタマイズも埋め込むことができる汎用ツールです。次のタスクは、より一般的なカスタマイズの例です。

  • 企業のセキュリティーポリシーで使う必要がある場合に備えて、カスタム CA 証明書を挿入します。
  • カーネル引数を必要とせずにネットワーク設定を設定します。
  • 任意のプレインストールおよびポストインストールスクリプトまたはバイナリーを埋め込みます。

2.11.3.7. ライブ RHCOS ISO イメージのカスタマイズ

coreos-installer iso customize サブコマンドを使用して、ライブ RHCOS ISO イメージを直接カスタマイズできます。ISO イメージを起動すると、カスタマイズが自動的に適用されます。

この機能を使用して、RHCOS を自動的にインストールするように ISO イメージを設定できます。

手順

  1. coreos-installer イメージミラー ページから、coreos-installer バイナリーをダウンロードします。
  2. RHCOS イメージミラー ページと Ignition 設定ファイルから RHCOS ISO イメージを取得し、次のコマンドを実行して、Ignition 設定を ISO イメージに直接挿入します。

    $ coreos-installer iso customize rhcos-<version>-live.x86_64.iso \
        --dest-ignition bootstrap.ign \ 1
        --dest-device /dev/disk/by-id/scsi-<serial_number> 2
    1
    openshift-installer インストールプログラムから生成される Ignition 設定ファイル。
    2
    このオプションを指定すると、ISO イメージは自動的にインストールを実行します。それ以外の場合は、イメージはインストール用に設定されたままになりますが、coreos.inst.install_dev カーネル引数を指定しない限り、自動的にはインストールされません。
  3. オプション: ISO イメージのカスタマイズを削除し、イメージを元の状態に戻すには、次のコマンドを実行します。

    $ coreos-installer iso reset rhcos-<version>-live.x86_64.iso

    これで、ライブ ISO イメージを再カスタマイズしたり、元の状態で使用したりできます。

カスタマイズを適用すると、それ以降のすべての RHCOS 起動に影響します。

2.11.3.7.1. ライブインストール ISO イメージを変更して、シリアルコンソールを有効化

OpenShift Container Platform 4.12 以降でインストールされたクラスターでは、シリアルコンソールはデフォルトで無効になり、すべての出力がグラフィカルコンソールに書き込まれます。次の手順でシリアルコンソールを有効にできます。

手順

  1. coreos-installer イメージミラー ページから、coreos-installer バイナリーをダウンロードします。
  2. RHCOS イメージミラー ページから RHCOS ISO イメージを取得し、次のコマンドを実行して ISO イメージをカスタマイズし、シリアルコンソールが出力を受信できるようにします。

    $ coreos-installer iso customize rhcos-<version>-live.x86_64.iso \
      --dest-ignition <path> \1
      --dest-console tty0 \2
      --dest-console ttyS0,<options> \3
      --dest-device /dev/disk/by-id/scsi-<serial_number> 4
    1
    インストールする Ignition 設定の場所。
    2
    望ましい 2 番目のコンソール。この場合は、グラフィカルコンソールです。このオプションを省略すると、グラフィカルコンソールが無効になります。
    3
    望ましいひとつ目のコンソール。この場合、シリアルコンソールです。options フィールドは、ボーレートとその他の設定を定義します。このフィールドの一般的な値は 115200n8 です。オプションが指定されていない場合、デフォルトのカーネル値である 9600n8 が使用されます。このオプションの形式の詳細は、Linux カーネルシリアルコンソール のドキュメントを参照してください。
    4
    インストール先として指定されたディスク。このオプションを省略すると、ISO イメージはインストールプログラムを自動的に実行しますが、coreos.inst.install_dev カーネル引数も指定しない限り失敗します。
    注記

    --dest-console オプションは、ライブ ISO システムではなく、インストールされたシステムに影響します。ライブ ISO システムのコンソールを変更するには、--live-karg-append オプションを使用し、console= でコンソールを指定します。

    カスタマイズが適用され、ISO イメージの後続のすべての起動に影響します。

  3. オプション: ISO イメージのカスタマイズを削除してイメージを元の状態に戻すには、次のコマンドを実行します。

    $ coreos-installer iso reset rhcos-<version>-live.x86_64.iso

    ライブ ISO イメージを再カスタマイズするか、元の状態で使用できるようになりました。

2.11.3.7.2. カスタム認証局を使用するようにライブインストール ISO イメージを変更する

customize サブコマンドの --ignition-ca フラグを使用して、認証局 (CA) 証明書を Ignition に提供できます。CA 証明書は、インストールの起動時とインストール済みシステムのプロビジョニング時の両方で使用できます。

注記

カスタム CA 証明書は、Ignition がリモートリソースをフェッチする方法に影響しますが、システムにインストールされている証明書には影響しません。

手順

  1. coreos-installer イメージミラー ページから、coreos-installer バイナリーをダウンロードします。
  2. RHCOS イメージミラー ページから RHCOS ISO イメージを取得し、次のコマンドを実行して、カスタム CA で使用する ISO イメージをカスタマイズします。

    $ coreos-installer iso customize rhcos-<version>-live.x86_64.iso --ignition-ca cert.pem
重要

coreos.inst.ignition_url カーネルパラメーターは、--ignition-ca フラグでは機能しません。クラスターごとにカスタマイズされたイメージを作成するには、--dest-ignition フラグを使用する必要があります。

カスタム CA 証明書を適用すると、それ以降のすべての RHCOS 起動に影響します。

2.11.3.7.3. カスタマイズされたネットワーク設定を使用したライブインストール ISO イメージの変更

NetworkManager キーファイルをライブ ISO イメージに埋め込み、customize サブコマンドの --network-keyfile フラグを使用してインストール済みシステムに渡すことができます。

警告

接続プロファイルを作成する際は、接続プロファイルのファイル名に .nmconnection ファイル名拡張子を使用する必要があります。.nmconnection ファイル名拡張子を使用しない場合、クラスターは接続プロファイルをライブ環境に適用しますが、クラスターが初めてノードを起動するときに設定が適用されないため、セットアップが機能しなくなります。

手順

  1. coreos-installer イメージミラー ページから、coreos-installer バイナリーをダウンロードします。
  2. ボンディングされたインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の bond0.nmconnection ファイルを作成します。

    [connection]
    id=bond0
    type=bond
    interface-name=bond0
    multi-connect=1
    
    [bond]
    miimon=100
    mode=active-backup
    
    [ipv4]
    method=auto
    
    [ipv6]
    method=auto
  3. ボンディングに追加するセカンダリーインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の bond0-proxy-em1.nmconnection ファイルを作成します。

    [connection]
    id=em1
    type=ethernet
    interface-name=em1
    master=bond0
    multi-connect=1
    slave-type=bond
  4. ボンディングに追加するセカンダリーインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の bond0-proxy-em2.nmconnection ファイルを作成します。

    [connection]
    id=em2
    type=ethernet
    interface-name=em2
    master=bond0
    multi-connect=1
    slave-type=bond
  5. RHCOS イメージミラー ページから RHCOS ISO イメージを取得し、次のコマンドを実行して、設定されたネットワークで ISO イメージをカスタマイズします。

    $ coreos-installer iso customize rhcos-<version>-live.x86_64.iso \
        --network-keyfile bond0.nmconnection \
        --network-keyfile bond0-proxy-em1.nmconnection \
        --network-keyfile bond0-proxy-em2.nmconnection

    ネットワーク設定はライブシステムに適用され、宛先システムに引き継がれます。

2.11.3.8. ライブ RHCOS PXE 環境のカスタマイズ

coreos-installer pxe customize サブコマンドを使用して、ライブ RHCOS PXE 環境を直接カスタマイズできます。PXE 環境を起動すると、カスタマイズが自動的に適用されます。

この機能を使用して、RHCOS を自動的にインストールするように PXE 環境を設定できます。

手順

  1. coreos-installer イメージミラー ページから、coreos-installer バイナリーをダウンロードします。
  2. RHCOS イメージミラーページと Ignition 設定ファイルから、RHCOS kernelinitramfs、および rootfs ファイルを取得し、次のコマンドを実行して、Ignition 設定からのカスタマイズを含む新しい initramfs ファイルを作成します。

    $ coreos-installer pxe customize rhcos-<version>-live-initramfs.x86_64.img \
        --dest-ignition bootstrap.ign \ 1
        --dest-device /dev/disk/by-id/scsi-<serial_number> \ 2
        -o rhcos-<version>-custom-initramfs.x86_64.img 3
    1
    openshift-installer から生成された Ignition 設定ファイル。
    2
    このオプションを指定すると、PXE 環境で自動的にインストールが実行されます。それ以外の場合は、イメージはインストール用に設定されたままになりますが、coreos.inst.install_dev カーネル引数を指定しない限り、自動的には設定されません。
    3
    PXE 設定でカスタマイズされた initramfs ファイルを使用します。ignition.firstboot および ignition.platform.id=metal カーネル引数が存在しない場合は追加します。

カスタマイズを適用すると、それ以降のすべての RHCOS 起動に影響します。

2.11.3.8.1. ライブインストール PXE 環境を変更して、シリアルコンソールを有効化。

OpenShift Container Platform 4.12 以降でインストールされたクラスターでは、シリアルコンソールはデフォルトで無効になり、すべての出力がグラフィカルコンソールに書き込まれます。次の手順でシリアルコンソールを有効にできます。

手順

  1. coreos-installer イメージミラー ページから、coreos-installer バイナリーをダウンロードします。
  2. RHCOS イメージミラー ページおよび Ignition 設定ファイルから RHCOS kernelinitramfs および rootfs ファイルを取得します。次のコマンドを実行して、シリアルコンソールが出力を受信できるようにする新しいカスタマイズされた initramfs ファイルを作成します。

    $ coreos-installer pxe customize rhcos-<version>-live-initramfs.x86_64.img \
      --dest-ignition <path> \1
      --dest-console tty0 \2
      --dest-console ttyS0,<options> \3
      --dest-device /dev/disk/by-id/scsi-<serial_number> \4
      -o rhcos-<version>-custom-initramfs.x86_64.img 5
    1
    インストールする Ignition 設定の場所。
    2
    望ましい 2 番目のコンソール。この場合は、グラフィカルコンソールです。このオプションを省略すると、グラフィカルコンソールが無効になります。
    3
    望ましいひとつ目のコンソール。この場合、シリアルコンソールです。options フィールドは、ボーレートとその他の設定を定義します。このフィールドの一般的な値は 115200n8 です。オプションが指定されていない場合、デフォルトのカーネル値である 9600n8 が使用されます。このオプションの形式の詳細は、Linux カーネルシリアルコンソール のドキュメントを参照してください。
    4
    インストール先として指定されたディスク。このオプションを省略すると、PXE 環境は自動的にインストーラーを実行しますが、coreos.inst.install_dev カーネル引数も指定しない限り失敗します。
    5
    PXE 設定でカスタマイズされた initramfs ファイルを使用します。ignition.firstboot および ignition.platform.id=metal カーネル引数が存在しない場合は追加します。

    カスタマイズが適用され、PXE 環境の後続のすべての起動に影響します。

2.11.3.8.2. カスタム認証局を使用するようにライブインストール PXE 環境を変更する

customize サブコマンドの --ignition-ca フラグを使用して、認証局 (CA) 証明書を Ignition に提供できます。CA 証明書は、インストールの起動時とインストール済みシステムのプロビジョニング時の両方で使用できます。

注記

カスタム CA 証明書は、Ignition がリモートリソースをフェッチする方法に影響しますが、システムにインストールされている証明書には影響しません。

手順

  1. coreos-installer イメージミラー ページから、coreos-installer バイナリーをダウンロードします。
  2. RHCOS イメージミラー ページから、RHCOS kernelinitramfs、および rootfs ファイルを取得し、次のコマンドを実行して、カスタム CA で使用するための新しいカスタマイズされた initramfs ファイルを作成します。

    $ coreos-installer pxe customize rhcos-<version>-live-initramfs.x86_64.img \
        --ignition-ca cert.pem \
        -o rhcos-<version>-custom-initramfs.x86_64.img
  3. PXE 設定でカスタマイズされた initramfs ファイルを使用します。ignition.firstboot および ignition.platform.id=metal カーネル引数が存在しない場合は追加します。
重要

coreos.inst.ignition_url カーネルパラメーターは、--ignition-ca フラグでは機能しません。クラスターごとにカスタマイズされたイメージを作成するには、--dest-ignition フラグを使用する必要があります。

カスタム CA 証明書を適用すると、それ以降のすべての RHCOS 起動に影響します。

2.11.3.8.3. カスタマイズされたネットワーク設定を使用したライブインストール PXE 環境の変更

NetworkManager キーファイルをライブ PXE 環境に埋め込み、customize サブコマンドの --network-keyfile フラグを使用して、インストール済みシステムに渡すことができます。

警告

接続プロファイルを作成する際は、接続プロファイルのファイル名に .nmconnection ファイル名拡張子を使用する必要があります。.nmconnection ファイル名拡張子を使用しない場合、クラスターは接続プロファイルをライブ環境に適用しますが、クラスターが初めてノードを起動するときに設定が適用されないため、セットアップが機能しなくなります。

手順

  1. coreos-installer イメージミラー ページから、coreos-installer バイナリーをダウンロードします。
  2. ボンディングされたインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の bond0.nmconnection ファイルを作成します。

    [connection]
    id=bond0
    type=bond
    interface-name=bond0
    multi-connect=1
    
    [bond]
    miimon=100
    mode=active-backup
    
    [ipv4]
    method=auto
    
    [ipv6]
    method=auto
  3. ボンディングに追加するセカンダリーインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の bond0-proxy-em1.nmconnection ファイルを作成します。

    [connection]
    id=em1
    type=ethernet
    interface-name=em1
    master=bond0
    multi-connect=1
    slave-type=bond
  4. ボンディングに追加するセカンダリーインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の bond0-proxy-em2.nmconnection ファイルを作成します。

    [connection]
    id=em2
    type=ethernet
    interface-name=em2
    master=bond0
    multi-connect=1
    slave-type=bond
  5. RHCOS イメージミラー ページから、RHCOS kernelinitramfs、および rootfs ファイルを取得し、次のコマンドを実行して、設定済みのネットワークを含む新しいカスタマイズされた initramfs ファイルを作成します。

    $ coreos-installer pxe customize rhcos-<version>-live-initramfs.x86_64.img \
        --network-keyfile bond0.nmconnection \
        --network-keyfile bond0-proxy-em1.nmconnection \
        --network-keyfile bond0-proxy-em2.nmconnection \
        -o rhcos-<version>-custom-initramfs.x86_64.img
  6. PXE 設定でカスタマイズされた initramfs ファイルを使用します。ignition.firstboot および ignition.platform.id=metal カーネル引数が存在しない場合は追加します。

    ネットワーク設定はライブシステムに適用され、宛先システムに引き継がれます。

2.11.3.9. 詳細の RHCOS インストールリファレンス

このセクションでは、Red Hat Enterprise Linux CoreOS (RHCOS) の手動インストールプロセスを変更できるようにするネットワーク設定および他の高度なオプションを説明します。以下の表では、RHCOS ライブインストーラーおよび coreos-installer コマンドで使用できるカーネル引数およびコマンドラインのオプションを説明します。

2.11.3.9.1. ISO インストールのネットワークおよびボンディングのオプション

ISO イメージから RHCOS をインストールする場合、そのイメージを起動してノードのネットワークを設定する際に手動でカーネル引数を追加できます。ネットワークの引数が指定されていない場合、RHCOS が Ignition 設定ファイルを取得するためにネットワークが必要であることを検知する際に、DHCP が initramfs でアクティベートされます。

重要

ネットワーク引数を手動で追加する場合は、rd.neednet=1 カーネル引数を追加して、ネットワークを initramfs で有効にする必要があります。

以下の情報は、ISO インストール用に RHCOS ノードでネットワークおよびボンディングを設定する例を示しています。この例では、ip=nameserver=、および bond= カーネル引数の使用方法を説明しています。

注記

順序は、カーネル引数の ip=nameserver=、および bond= を追加する場合に重要です。

ネットワークオプションは、システムの起動時に dracut ツールに渡されます。dracut でサポートされるネットワークオプションの詳細は、dracut.cmdline man ページ を参照してください。

次の例は、ISO インストールのネットワークオプションです。

DHCP または静的 IP アドレスの設定

IP アドレスを設定するには、DHCP (ip=dhcp) を使用するか、個別の静的 IP アドレス (ip=<host_ip>) を設定します。静的 IP を設定する場合、各ノードで DNS サーバー IP アドレス (nameserver=<dns_ip>) を特定する必要があります。次の例では、以下を設定します。

  • ノードの IP アドレス: 10.10.10.2
  • ゲートウェイアドレス: 10.10.10.254
  • ネットワーク: 255.255.255.0
  • ホスト名: core0.example.com
  • DNS サーバーアドレス: 4.4.4.41
  • auto-configuration の値を none に設定します。IP ネットワークが静的に設定されている場合には、自動設定は必要ありません。
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
nameserver=4.4.4.41
注記

DHCP を使用して RHCOS マシンの IP アドレスを設定する場合、マシンは DHCP を介して DNS サーバー情報も取得します。DHCP ベースのデプロイメントの場合、DHCP サーバー設定を使用して RHCOS ノードが使用する DNS サーバーアドレスを定義できます。

静的ホスト名を使用しない IP アドレスの設定

静的ホスト名を割り当てずに IP アドレスを設定できます。静的ホスト名がユーザーによって設定されていない場合は、逆引き DNS ルックアップによって取得され、自動的に設定されます。静的ホスト名なしで IP アドレスを設定するには、次の例を参照してください。

  • ノードの IP アドレス: 10.10.10.2
  • ゲートウェイアドレス: 10.10.10.254
  • ネットワーク: 255.255.255.0
  • DNS サーバーアドレス: 4.4.4.41
  • auto-configuration の値を none に設定します。IP ネットワークが静的に設定されている場合には、自動設定は必要ありません。
ip=10.10.10.2::10.10.10.254:255.255.255.0::enp1s0:none
nameserver=4.4.4.41
複数のネットワークインターフェイスの指定

複数の ip= エントリーを設定することで、複数のネットワークインターフェイスを指定できます。

ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
ip=10.10.10.3::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none
デフォルトゲートウェイとルートの設定

オプション: rd.route= value を設定して、追加のネットワークへのルートを設定できます。

注記

1 つまたは複数のネットワークを設定する場合、1 つのデフォルトゲートウェイが必要です。追加のネットワークゲートウェイがプライマリーネットワークゲートウェイと異なる場合、デフォルトゲートウェイはプライマリーネットワークゲートウェイである必要があります。

  • 次のコマンドを実行して、デフォルトゲートウェイを設定します。

    ip=::10.10.10.254::::
  • 次のコマンドを入力して、追加ネットワークのルートを設定します。

    rd.route=20.20.20.0/24:20.20.20.254:enp2s0
単一インターフェイスでの DHCP の無効化

2 つ以上のネットワークインターフェイスがあり、1 つのインターフェイスのみが使用される場合などに、1 つのインターフェイスで DHCP を無効にします。この例では、enp1s0 インターフェイスには静的ネットワーク設定があり、使用されていない enp2s0 では DHCP が無効になっています。

ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none
ip=::::core0.example.com:enp2s0:none
DHCP と静的 IP 設定の組み合わせ

以下のように、複数のネットワークインターフェイスを持つシステムで、DHCP および静的 IP 設定を組み合わせることができます。

ip=enp1s0:dhcp
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none
個々のインターフェイスでの VLAN の設定

オプション: vlan= パラメーターを使用して、個別のインターフェイスに VLAN を設定できます。

  • ネットワークインターフェイスで VLAN を設定し、静的 IP アドレスを使用するには、次のコマンドを実行します。

    ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0.100:none
    vlan=enp2s0.100:enp2s0
  • ネットワークインターフェイスで VLAN を設定し、DHCP を使用するには、次のコマンドを実行します。

    ip=enp2s0.100:dhcp
    vlan=enp2s0.100:enp2s0
複数の DNS サーバーの指定

以下のように、各サーバーに nameserver= エントリーを追加して、複数の DNS サーバーを指定できます。

nameserver=1.1.1.1
nameserver=8.8.8.8
複数のネットワークインターフェイスの単一インターフェイスへのボンディング

オプション: bond= オプションを使用して、複数のネットワークインターフェイスを単一のインターフェイスにボンディングできます。次の例を参照してください。

  • 結合インターフェイスを設定するための構文は、bond=<name>[:<network_interfaces>][:options] です。

    <name> はボンディングデバイス名 (bond0)、<network_interfaces> は物理 (イーサネット) インターフェイスのコンマ区切りのリスト (em1,em2) を表し、options はボンディングオプションのコンマ区切りのリストです。modinfo bonding を入力して、利用可能なオプションを表示します。

  • Bond= を使用してボンディングされたインターフェイスを作成する場合は、IP アドレスの割り当て方法とボンディングされたインターフェイスのその他の情報を指定する必要があります。

    • DHCP を使用するようにボンディングされたインターフェイスを設定するには、ボンドの IP アドレスを dhcp に設定します。以下に例を示します。

      bond=bond0:em1,em2:mode=active-backup
      ip=bond0:dhcp
    • 静的 IP アドレスを使用するようにボンディングされたインターフェイスを設定するには、必要な特定の IP アドレスと関連情報を入力します。以下に例を示します。

      bond=bond0:em1,em2:mode=active-backup
      ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
複数の SR-IOV ネットワークインターフェイスをデュアルポート NIC インターフェイスに結合する
重要

SR-IOV デバイスの NIC パーティショニングの有効化に関連する Day 1 操作のサポートは、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

オプション: bond= オプションを使用して、複数の SR-IOV ネットワークインターフェイスをデュアルポート NIC インターフェイスに結合できます。

各ノードで、次のタスクを実行する必要があります。

  1. SR-IOV デバイスの管理 のガイダンスに従って、SR-IOV 仮想機能 (VF) を作成します。「仮想マシンへの SR-IOV ネットワークデバイスの接続」セクションの手順に従います。
  2. ボンドを作成し、目的の VF をボンドに接続し、ネットワークボンディングの設定 のガイダンスに従って、ボンドリンクの状態を設定します。説明されている手順のいずれかに従って、結合を作成します。

次の例は、使用する必要がある構文を示しています。

  • 結合インターフェイスを設定するための構文は、bond=<name>[:<network_interfaces>][:options] です。

    <name> はボンディングデバイス名 (bond0)、<network_interfaces> は仮想機能 (VF) をカーネル内の既知の名前で表し、ip link コマンド (eno1f0eno2f0) の出力に表示されます。options は結合オプションのコンマ区切りリストです。modinfo bonding を入力して、利用可能なオプションを表示します。

  • Bond= を使用してボンディングされたインターフェイスを作成する場合は、IP アドレスの割り当て方法とボンディングされたインターフェイスのその他の情報を指定する必要があります。

    • DHCP を使用するようにボンディングされたインターフェイスを設定するには、ボンドの IP アドレスを dhcp に設定します。以下に例を示します。

      bond=bond0:eno1f0,eno2f0:mode=active-backup
      ip=bond0:dhcp
    • 静的 IP アドレスを使用するようにボンディングされたインターフェイスを設定するには、必要な特定の IP アドレスと関連情報を入力します。以下に例を示します。

      bond=bond0:eno1f0,eno2f0:mode=active-backup
      ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
ネットワークチーミングの使用

任意: team= パラメーターを指定して、ボンディングの代わりにネットワークチーミングを使用できます。

  • チームインターフェイス設定の構文は team= name [:network_interfaces] です。

    name はチームデバイス名 (team0)、network_interfacesは物理 (イーサネット) インターフェイス (em1、em2) のコンマ区切りリストを表します。

注記

RHCOS が次のバージョンの RHEL に切り替わると、チーミングは非推奨になる予定です。詳細は、Red Hat ナレッジベースアーティクル libvirt-lxc を使用した Linux コンテナー (廃止) を参照してください。

次の例を使用して、ネットワークチームを設定します。

team=team0:em1,em2
ip=team0:dhcp
2.11.3.9.2. ISO および PXE インストール用の coreos-installer オプション

RHCOS は、ISO イメージから RHCOS ライブ環境に起動した後に、コマンドプロンプトで coreos-installer install <options> <device> を実行してインストールできます。

以下の表は、coreos-installer コマンドに渡すことのできるサブコマンド、オプションおよび引数を示しています。

表2.9 coreos-installer サブコマンド、コマンドラインオプション、および引数

coreos-installer install サブコマンド

サブコマンド

説明

$ coreos-installer install <options> <device>

Ignition 設定を ISO イメージに埋め込みます。

coreos-installer install サブコマンドオプション

オプション

説明

-u--image-url <url>

イメージの URL を手動で指定します。

-f--image-file <path>

ローカルイメージファイルを手動で指定します。デバッグに使用されます。

-i--ignition-file <path>

ファイルから Ignition 設定を埋め込みます。

-I--ignition-url <URL>

URL から Ignition 設定を埋め込みます。

--ignition-hash <digest>

Ignition 設定の type-value をダイジェスト値を取得します。

-p--platform <name>

インストール済みシステムの Ignition プラットフォーム ID を上書きします。

--console <spec>

インストールされたシステムのカーネルとブートローダーコンソールを設定します。<spec> の形式の詳細は、Linux カーネルシリアルコンソール のドキュメントを参照してください。

--append-karg <arg>…​

インストール済みシステムにデフォルトのカーネル引数を追加します。

--delete-karg <arg>…​

インストール済みシステムからデフォルトのカーネル引数を削除します。

-n--copy-network

インストール環境からネットワーク設定をコピーします。

重要

--copy-network オプションは、/etc/NetworkManager/system-connections にあるネットワーク設定のみをコピーします。特に、システムのホスト名はコピーされません。

--network-dir <path>

-n を指定して使用する場合。デフォルトは /etc/NetworkManager/system-connections/ です。

--save-partlabel <lx>..

このラベル glob でパーティションを保存します。

--save-partindex <id>…​

この数または範囲でパーティションを保存します。

--insecure

RHCOS イメージ署名の検証を省略します。

--insecure-ignition

HTTPS またはハッシュなしで Ignition URL を許可します。

--architecture <name>

ターゲット CPU アーキテクチャー。有効な値は x86_64 および aarch64 です。

--preserve-on-error

エラー時のパーティションテーブルは消去しないでください。

-h--help

ヘルプ情報を表示します。

coreos-installer インストールサブコマンド引数

引数

説明

<device>

宛先デバイス。

coreos-installer ISO サブコマンド

サブコマンド

説明

$ coreos-installer iso customize <options> <ISO_image>

RHCOS ライブ ISO イメージをカスタマイズします。

coreos-installer iso reset <options> <ISO_image>

RHCOS ライブ ISO イメージをデフォルト設定に復元します。

coreos-installer iso ignition remove <options> <ISO_image>

ISO イメージから埋め込まれた Ignition 設定を削除します。

coreos-installer ISO カスタマイズサブコマンドオプション

オプション

説明

--dest-ignition <path>

指定された Ignition 設定ファイルを宛先システムの新しい設定フラグメントにマージします。

--dest-console <spec>

宛先システムのカーネルとブートローダーコンソールを指定します。

--dest-device <path>

指定した宛先デバイスをインストールして上書きします。

--dest-karg-append <arg>

宛先システムの各起動にカーネル引数を追加します。

--dest-karg-delete <arg>

宛先システムの各起動からカーネル引数を削除します。

--network-keyfile <path>

ライブシステムと宛先システムに指定された NetworkManager キーファイルを使用してネットワークを設定します。

--ignition-ca <path>

Ignition によって信頼される追加の TLS 認証局を指定します。

--pre-install <path>

インストールする前に、指定されたスクリプトを実行します。

--post-install <path>

インストール後に指定されたスクリプトを実行します。

--installer-config <path>

指定されたインストーラー設定ファイルを適用します。

--live-ignition <path>

指定された Ignition 設定ファイルをライブ環境の新しい設定フラグメントにマージします。

--live-karg-append <arg>

ライブ環境の各ブートにカーネル引数を追加します。

--live-karg-delete <arg>

ライブ環境の各ブートからカーネル引数を削除します。

--live-karg-replace <k=o=n>

ライブ環境の各起動で、key=old=new の形式でカーネル引数を置き換えます。

-f, --force

既存の Ignition 設定を上書きします。

-o--output <path>

新しい出力ファイルに ISO を書き込みます。

-h--help

ヘルプ情報を表示します。

coreos-installer PXE サブコマンド

サブコマンド

説明

これらのオプションすべてがすべてのサブコマンドで使用できる訳ではないことに注意してください。

coreos-installer pxe customize <options> <path>

RHCOS ライブ PXE ブート設定をカスタマイズします。

coreos-installer pxe ignition wrap <options>

イメージに Ignition 設定をラップします。

coreos-installer pxe ignition unwrap <options> <image_name>

イメージでラップされた Ignition 設定を表示します。

coreos-installer PXE はサブコマンドオプションをカスタマイズします

オプション

説明

これらのオプションすべてがすべてのサブコマンドで使用できる訳ではないことに注意してください。

--dest-ignition <path>

指定された Ignition 設定ファイルを宛先システムの新しい設定フラグメントにマージします。

--dest-console <spec>

宛先システムのカーネルとブートローダーコンソールを指定します。

--dest-device <path>

指定した宛先デバイスをインストールして上書きします。

--network-keyfile <path>

ライブシステムと宛先システムに指定された NetworkManager キーファイルを使用してネットワークを設定します。

--ignition-ca <path>

Ignition によって信頼される追加の TLS 認証局を指定します。

--pre-install <path>

インストールする前に、指定されたスクリプトを実行します。

post-install <path>

インストール後に指定されたスクリプトを実行します。

--installer-config <path>

指定されたインストーラー設定ファイルを適用します。

--live-ignition <path>

指定された Ignition 設定ファイルをライブ環境の新しい設定フラグメントにマージします。

-o, --output <path>

initramfs を新しい出力ファイルに書き込みます。

注記

このオプションは、PXE 環境に必要です。

-h--help

ヘルプ情報を表示します。

2.11.3.9.3. ISO または PXE インストールの coreos.inst ブートオプション

coreos.inst ブートパラメーターを RHCOS ライブインストーラーに渡して、ブート時に coreos-installer オプションを自動的に起動できます。これらは、標準のブート引数の追加として提供されます。

  • ISO インストールの場合、ブートローダーメニューで自動ブートを中断して coreos.inst オプションを追加できます。RHEL CoreOS (Live) メニューオプションが強調表示されている状態で TAB を押すと、自動ブートを中断できます。
  • PXE または iPXE インストールの場合、RHCOS ライブインストーラーのブート前に coreos.inst オプションを APPEND 行に追加する必要があります。

以下の表は、ISO および PXE インストールの RHCOS ライブインストーラーの coreos.inst ブートオプションを示しています。

表2.10 coreos.inst ブートオプション
引数説明

coreos.inst.install_dev

必須。インストール先のシステムのブロックデバイス。sda は許可されていますが、/dev/sda などの完全パスを使用することが推奨されます。

coreos.inst.ignition_url

オプション: インストール済みシステムに埋め込む Ignition 設定の URL。URL が指定されていない場合、Ignition 設定は埋め込まれません。HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。

coreos.inst.save_partlabel

オプション: インストール時に保存するパーティションのコンマ区切りのラベル。glob 形式のワイルドカードが許可されます。指定したパーティションは存在する必要はありません。

coreos.inst.save_partindex

オプション: インストール時に保存するパーティションのコンマ区切りのインデックス。範囲 m-n は許可され、m または n のいずれかを省略できます。指定したパーティションは存在する必要はありません。

coreos.inst.insecure

オプション: coreos.inst.image_url で署名なしと指定される OS イメージを許可します。

coreos.inst.image_url

オプション: 指定した RHCOS イメージをダウンロードし、インストールします。

  • この引数は実稼働環境では使用できず、デバッグの目的でのみ使用することが意図されています。
  • この引数は、ライブメディアに一致しないバージョンの RHCOS をインストールするために使用できますが、インストールするバージョンに一致するメディアを使用することが推奨されます。
  • coreos.inst.image_url を使用している場合は、coreos.inst.insecure も使用する必要があります。これは、ベアメタルメディアが OpenShift Container Platform について GPG で署名されていないためです。
  • HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。

coreos.inst.skip_reboot

オプション: システムはインストール後に再起動しません。インストールが完了するとプロンプトが表示され、インストール時に生じる内容を検査できます。この引数は実稼働環境では使用できず、デバッグの目的でのみ使用することが意図されています。

coreos.inst.platform_id

オプション: RHCOS イメージがインストールされるプラットフォームの Ignition プラットフォーム ID。デフォルトは metal です。このオプションは、VMware などのクラウドプロバイダーから Ignition 設定を要求するかどうかを決定します。例: coreos.inst.platform_id=vmware

ignition.config.url

オプション: ライブ起動の Ignition 設定の URL。たとえば、これは coreos-installer の起動方法をカスタマイズしたり、インストール前後にコードを実行するために使用できます。これはインストール済みシステムの Ignition 設定である coreos.inst.ignition_url とは異なります。

2.11.4. RHCOS のカーネル引数でのマルチパスの有効化

RHCOS はプライマリーディスクでのマルチパスをサポートするようになり、ハードウェア障害に対する対障害性が強化され、ホストの可用性を強化できるようになりました。

OpenShift Container Platform 4.8 以降でプロビジョニングされたノードのマルチパスを有効にできます。インストール後のサポートは、マシン設定を使用してマルチパスをアクティベートすることで利用できますが、インストール中にマルチパスを有効にすることが推奨されます。

非最適化パスに対して I/O があると、I/O システムエラーが発生するように設定するには、インストール時にマルチパスを有効にする必要があります。

重要

IBM Z® および IBM® LinuxONE では、インストール時にクラスターを設定した場合のみマルチパスを有効にできます。詳細は、IBM Z® および IBM® LinuxONE への z/VM を使用したクラスターのインストール の RHCOS の「インストールおよび OpenShift Container Platform ブートストラッププロセスの開始」を参照してください。

以下の手順では、インストール時にマルチパスを有効にし、coreos-installer install コマンドにカーネル引数を追加して、インストール済みシステム自体が初回起動からマルチパスを使用できるようにします。

注記

OpenShift Container Platform は、4.6 以前からアップグレードされたノードでの day-2 アクティビティーとしてのマルチパスの有効化をサポートしません。

前提条件

  • クラスターの Ignition 設定ファイルを作成している。
  • RHCOS のインストールと OpenShift Container Platform ブートストラッププロセスの開始 を確認した。

手順

  1. マルチパスを有効にして multipathd デーモンを起動するには、インストールホストで次のコマンドを実行します。

    $ mpathconf --enable && systemctl start multipathd.service
    • 必要に応じて、PXE または ISO を起動する場合は、カーネルコマンドラインから rd.multipath=default を追加することで、マルチパスを有効にできます。
  2. coreos-installer プログラムを呼び出してカーネル引数を追加します。

    • マシンに接続されているマルチパスデバイスが 1 つしかない場合は、このデバイスは /dev/mapper/mpatha のパスで利用できます。以下に例を示します。

      $ coreos-installer install /dev/mapper/mpatha \1
      --ignition-url=http://host/worker.ign \
      --append-karg rd.multipath=default \
      --append-karg root=/dev/disk/by-label/dm-mpath-root \
      --append-karg rw
      1
      1 つのマルチパスデバイスのパスを指定します。
    • 複数のマルチパスデバイスがマシンに接続している場合には、より明示的に /dev/mapper/mpatha を使用する代わりに、/dev/disk/by-id で利用可能な World Wide Name (WWN) シンボリックリンクを使用することが推奨されます。以下に例を示します。

      $ coreos-installer install /dev/disk/by-id/wwn-<wwn_ID> \1
      --ignition-url=http://host/worker.ign \
      --append-karg rd.multipath=default \
      --append-karg root=/dev/disk/by-label/dm-mpath-root \
      --append-karg rw
      1
      マルチパス化されたデバイスの WWN ID を指定します。例: 0xx194e957fcedb4841

      特別な coreos.inst.* 引数を使用してライブインストーラーを指定する場合に、このシンボリックリンクを coreos.inst.install_dev カーネル引数として使用することもできます。詳細は、「RHCOS のインストールおよび OpenShift Container Platform ブートストラッププロセスの開始」を参照してください。

  3. インストール済みのシステムで再起動します。
  4. ワーカーノードのいずれかに移動し、カーネルコマンドライン引数 (ホストの /proc/cmdline 内) をリスト表示してカーネル引数が機能することを確認します。

    $ oc debug node/ip-10-0-141-105.ec2.internal

    出力例

    Starting pod/ip-10-0-141-105ec2internal-debug ...
    To use host binaries, run `chroot /host`
    
    sh-4.2# cat /host/proc/cmdline
    ...
    rd.multipath=default root=/dev/disk/by-label/dm-mpath-root
    ...
    
    sh-4.2# exit

    追加したカーネル引数が表示されるはずです。

2.11.4.1. セカンダリーディスクでのマルチパス構成の有効化

RHCOS はセカンダリーディスク上のマルチパス構成もサポートします。カーネル引数の代わりに、Ignition を使用してインストール時にセカンダリーディスクのマルチパス構成を有効にします。

前提条件

  • ディスクのパーティション設定 セクションを読了した。
  • RHCOS のカーネル引数でのマルチパスの有効化 を読了した。
  • Butane ユーティリティーをインストールした。

手順

  1. 次のような情報を含む Butane 設定を作成します。

    multipath-config.bu の例

    variant: openshift
    version: 4.14.0
    systemd:
      units:
        - name: mpath-configure.service
          enabled: true
          contents: |
            [Unit]
            Description=Configure Multipath on Secondary Disk
            ConditionFirstBoot=true
            ConditionPathExists=!/etc/multipath.conf
            Before=multipathd.service 1
            DefaultDependencies=no
    
            [Service]
            Type=oneshot
            ExecStart=/usr/sbin/mpathconf --enable 2
    
            [Install]
            WantedBy=multi-user.target
        - name: mpath-var-lib-container.service
          enabled: true
          contents: |
            [Unit]
            Description=Set Up Multipath On /var/lib/containers
            ConditionFirstBoot=true 3
            Requires=dev-mapper-mpatha.device
            After=dev-mapper-mpatha.device
            After=ostree-remount.service
            Before=kubelet.service
            DefaultDependencies=no
    
            [Service] 4
            Type=oneshot
            ExecStart=/usr/sbin/mkfs.xfs -L containers -m reflink=1 /dev/mapper/mpatha
            ExecStart=/usr/bin/mkdir -p /var/lib/containers
    
            [Install]
            WantedBy=multi-user.target
        - name: var-lib-containers.mount
          enabled: true
          contents: |
            [Unit]
            Description=Mount /var/lib/containers
            After=mpath-var-lib-containers.service
            Before=kubelet.service 5
    
            [Mount] 6
            What=/dev/disk/by-label/dm-mpath-containers
            Where=/var/lib/containers
            Type=xfs
    
            [Install]
            WantedBy=multi-user.target

    1
    マルチパスデーモンを起動する前に設定を行う必要があります。
    2
    mpathconf ユーティリティーを起動します。
    3
    このフィールドの値は、true に設定する必要があります。
    4
    ファイルシステムとディレクトリー /var/lib/containers を作成します。
    5
    ノードを起動する前にデバイスをマウントする必要があります。
    6
    デバイスを /var/lib/containers マウントポイントにマウントします。この場所はシンボリックリンクにできません。
  2. 次のコマンドを実行して、Ignition 設定を作成します。

    $ butane --pretty --strict multipath-config.bu > multipath-config.ign
  3. 初回起動時の RHCOS インストールプロセスの残りを続行します。

    重要

    プライマリーディスクもマルチパス化されていない限り、インストール中にコマンドラインに rd.multipath または root カーネル引数を追加しないでください。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.