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 インストール設定のセクションを確認している。
手順
それぞれの Ignition 設定ファイルの SHA512 ダイジェストを取得します。たとえば、Linux を実行しているシステムで以下を使用して、
bootstrap.ign
Ignition 設定ファイルの SHA512 ダイジェストを取得できます。$ sha512sum <installation_directory>/bootstrap.ign
ダイジェストは、クラスターノードの Ignition 設定ファイルの信頼性を検証するために、後の手順で
coreos-installer
に提供されます。インストールプログラムが作成したブートストラップ、コントロールプレーン、およびコンピュートノード Ignition 設定ファイルを HTTP サーバーにアップロードします。これらのファイルの URL をメモします。
重要HTTP サーバーに保存する前に、Ignition 設定で設定内容を追加したり、変更したりできます。インストールの完了後にコンピュートマシンをさらにクラスターに追加する予定の場合には、これらのファイルを削除しないでください。
インストールホストから、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.ign
をmaster.ign
またはworker.ign
に置き換え、コントロールプレーンおよびコンピュートノードの Ignition 設定ファイルも利用可能であることを検証します。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
ISO を使用し、RHCOS インストールを開始します。以下のインストールオプションのいずれかを使用します。
- ディスクに ISO イメージを書き込み、これを直接起動します。
- Lights Out Management (LOM) インターフェイスを使用して ISO リダイレクトを使用します。
オプションを指定したり、ライブ起動シーケンスを中断したりせずに、RHCOS ISO イメージを起動します。インストーラーが RHCOS ライブ環境でシェルプロンプトを起動するのを待ちます。
注記RHCOS インストール起動プロセスを中断して、カーネル引数を追加できます。ただし、この ISO 手順では、カーネル引数を追加する代わりに、以下の手順で説明しているように
coreos-installer
コマンドを使用する必要があります。coreos-installer
コマンドを実行し、インストール要件を満たすオプションを指定します。少なくとも、ノードタイプの Ignition 設定ファイルを参照する URL と、インストール先のデバイスを指定する必要があります。$ sudo coreos-installer install --ignition-url=http://<HTTP_server>/<node_type>.ign <device> --ignition-hash=sha512-<digest> 12
注記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
マシンのコンソールで RHCOS インストールの進捗を監視します。
重要OpenShift Container Platform のインストールを開始する前に、各ノードでインストールが成功していることを確認します。インストールプロセスを監視すると、発生する可能性のある RHCOS インストールの問題の原因を特定する上でも役立ちます。
- RHCOS のインストール後、システムを再起動する必要があります。システムの再起動後、指定した Ignition 設定ファイルを適用します。
コンソール出力をチェックして、Ignition が実行されたことを確認します。
コマンドの例
Ignition: ran on 2022/03/14 14:48:33 UTC (this boot) Ignition: user-provided config was applied
継続してクラスターの他のマシンを作成します。
重要この時点でブートストラップおよびコントロールプレーンマシンを作成する必要があります。コントロールプレーンマシンがデフォルトのスケジュール対象にされていない場合、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 インストール設定のセクションを確認している。
手順
インストールプログラムが作成したブートストラップ、コントロールプレーン、およびコンピュートノード Ignition 設定ファイルを HTTP サーバーにアップロードします。これらのファイルの URL をメモします。
重要HTTP サーバーに保存する前に、Ignition 設定で設定内容を追加したり、変更したりできます。インストールの完了後にコンピュートマシンをさらにクラスターに追加する予定の場合には、これらのファイルを削除しないでください。
インストールホストから、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.ign
をmaster.ign
またはworker.ign
に置き換え、コントロールプレーンおよびコンピュートノードの Ignition 設定ファイルも利用可能であることを検証します。RHCOS イメージミラー ページからオペレーティングシステムインスタンスをインストールするための推奨される方法に必要な RHCOS
kernel
、initramfs
、および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 バージョンと等しいか、それ以下のバージョンの内で最も新しいバージョンのイメージをダウンロードする必要があります。この手順で説明されている適切な
kernel
、initramfs
、および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
-
rootfs
、kernel
、およびinitramfs
ファイルを HTTP サーバーにアップロードします。重要インストールの完了後にコンピュートマシンをさらにクラスターに追加する予定の場合には、これらのファイルを削除しないでください。
- RHCOS のインストール後にマシンがローカルディスクから起動されるようにネットワークブートインフラストラクチャーを設定します。
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
アーキテクチャーで CoreOSkernel
をネットワークブートするには、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
ファイルの場所を指定します。
マシンのコンソールで RHCOS インストールの進捗を監視します。
重要OpenShift Container Platform のインストールを開始する前に、各ノードでインストールが成功していることを確認します。インストールプロセスを監視すると、発生する可能性のある RHCOS インストールの問題の原因を特定する上でも役立ちます。
- RHCOS のインストール後に、システムは再起動します。再起動中、システムは指定した Ignition 設定ファイルを適用します。
コンソール出力をチェックして、Ignition が実行されたことを確認します。
コマンドの例
Ignition: ran on 2022/03/14 14:48:33 UTC (this boot) Ignition: user-provided config was applied
クラスターのマシンの作成を続行します。
重要この時点でブートストラップおよびコントロールプレーンマシンを作成する必要があります。コントロールプレーンマシンがデフォルトのスケジュール対象にされていない場合、クラスターのインストール前に少なくとも 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 インストールを設定するには、以下の手順に従います。
手順
- ISO インストーラーを起動します。
-
ライブシステムシェルプロンプトから、
nmcli
またはnmtui
などの利用可能な RHEL ツールを使用して、ライブシステムのネットワークを設定します。 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
にあるネットワーク設定のみをコピーします。特に、システムのホスト名はコピーされません。- インストール済みのシステムで再起動します。
関連情報
-
nmcli
ツールおよびnmtui
ツールの詳細は、RHEL 8 ドキュメントの Getting started with nmcli および Getting started with nmtui を参照してください。
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
を含むファイルシステム
デフォルトのパーティションスキームの場合、nodefs
と imagefs
は同じルートファイルシステム (/
) を監視します。
RHCOS を OpenShift Container Platform クラスターノードにインストールするときにデフォルトのパーティション設定をオーバーライドするには、別のパーティションを作成する必要があります。コンテナーとコンテナーイメージ用に別のストレージパーティションを追加する状況を考えてみましょう。たとえば、/var/lib/containers
を別のパーティションにマウントすると、kubelet が /var/lib/containers
を imagefs
ディレクトリーとして、ルートファイルシステムを 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
パーティションを設定します。
手順
インストールホストで、OpenShift Container Platform のインストールプログラムが含まれるディレクトリーに切り替え、クラスターの Kubernetes マニフェストを生成します。
$ openshift-install create manifests --dir <installation_directory>
追加のパーティションを設定する 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
パーティションを作成する場合、異なるインスタンスタイプに同じデバイス名がない場合は、コンピュートノードに異なるインスタンスタイプを使用することはできません。Butane config からマニフェストを作成し、
clusterconfig/openshift
ディレクトリーに保存します。たとえば、以下のコマンドを実行します。$ butane $HOME/clusterconfig/98-var-partition.bu -o $HOME/clusterconfig/openshift/98-var-partition.yaml
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.ign
、master.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 インストール用にシリアルコンソールを有効にし、シリアルコンソールとグラフィカルコンソールの両方に出力が送信されるようにブートローダーを再設定できます。
手順
- ISO インストーラーを起動します。
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 カーネルシリアルコンソール のドキュメントを参照してください。
インストール済みのシステムで再起動します。
注記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 イメージを設定できます。
手順
-
coreos-installer
イメージミラー ページから、coreos-installer
バイナリーをダウンロードします。 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
オプション: ISO イメージのカスタマイズを削除し、イメージを元の状態に戻すには、次のコマンドを実行します。
$ coreos-installer iso reset rhcos-<version>-live.x86_64.iso
これで、ライブ ISO イメージを再カスタマイズしたり、元の状態で使用したりできます。
カスタマイズを適用すると、それ以降のすべての RHCOS 起動に影響します。
2.11.3.7.1. ライブインストール ISO イメージを変更して、シリアルコンソールを有効化
OpenShift Container Platform 4.12 以降でインストールされたクラスターでは、シリアルコンソールはデフォルトで無効になり、すべての出力がグラフィカルコンソールに書き込まれます。次の手順でシリアルコンソールを有効にできます。
手順
-
coreos-installer
イメージミラー ページから、coreos-installer
バイナリーをダウンロードします。 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 イメージの後続のすべての起動に影響します。
オプション: 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 がリモートリソースをフェッチする方法に影響しますが、システムにインストールされている証明書には影響しません。
手順
-
coreos-installer
イメージミラー ページから、coreos-installer
バイナリーをダウンロードします。 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
ファイル名拡張子を使用しない場合、クラスターは接続プロファイルをライブ環境に適用しますが、クラスターが初めてノードを起動するときに設定が適用されないため、セットアップが機能しなくなります。
手順
-
coreos-installer
イメージミラー ページから、coreos-installer
バイナリーをダウンロードします。 ボンディングされたインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の
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
ボンディングに追加するセカンダリーインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の
bond0-proxy-em1.nmconnection
ファイルを作成します。[connection] id=em1 type=ethernet interface-name=em1 master=bond0 multi-connect=1 slave-type=bond
ボンディングに追加するセカンダリーインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の
bond0-proxy-em2.nmconnection
ファイルを作成します。[connection] id=em2 type=ethernet interface-name=em2 master=bond0 multi-connect=1 slave-type=bond
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 環境を設定できます。
手順
-
coreos-installer
イメージミラー ページから、coreos-installer
バイナリーをダウンロードします。 RHCOS イメージミラーページと Ignition 設定ファイルから、RHCOS
kernel
、initramfs
、および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
カスタマイズを適用すると、それ以降のすべての RHCOS 起動に影響します。
2.11.3.8.1. ライブインストール PXE 環境を変更して、シリアルコンソールを有効化。
OpenShift Container Platform 4.12 以降でインストールされたクラスターでは、シリアルコンソールはデフォルトで無効になり、すべての出力がグラフィカルコンソールに書き込まれます。次の手順でシリアルコンソールを有効にできます。
手順
-
coreos-installer
イメージミラー ページから、coreos-installer
バイナリーをダウンロードします。 RHCOS イメージミラー ページおよび Ignition 設定ファイルから RHCOS
kernel
、initramfs
および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 がリモートリソースをフェッチする方法に影響しますが、システムにインストールされている証明書には影響しません。
手順
-
coreos-installer
イメージミラー ページから、coreos-installer
バイナリーをダウンロードします。 RHCOS イメージミラー ページから、RHCOS
kernel
、initramfs
、および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
-
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
ファイル名拡張子を使用しない場合、クラスターは接続プロファイルをライブ環境に適用しますが、クラスターが初めてノードを起動するときに設定が適用されないため、セットアップが機能しなくなります。
手順
-
coreos-installer
イメージミラー ページから、coreos-installer
バイナリーをダウンロードします。 ボンディングされたインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の
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
ボンディングに追加するセカンダリーインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の
bond0-proxy-em1.nmconnection
ファイルを作成します。[connection] id=em1 type=ethernet interface-name=em1 master=bond0 multi-connect=1 slave-type=bond
ボンディングに追加するセカンダリーインターフェイスの接続プロファイルを作成します。たとえば、ローカルディレクトリーに次の内容の
bond0-proxy-em2.nmconnection
ファイルを作成します。[connection] id=em2 type=ethernet interface-name=em2 master=bond0 multi-connect=1 slave-type=bond
RHCOS イメージミラー ページから、RHCOS
kernel
、initramfs
、および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
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 インターフェイスに結合できます。
各ノードで、次のタスクを実行する必要があります。
- SR-IOV デバイスの管理 のガイダンスに従って、SR-IOV 仮想機能 (VF) を作成します。「仮想マシンへの SR-IOV ネットワークデバイスの接続」セクションの手順に従います。
- ボンドを作成し、目的の VF をボンドに接続し、ネットワークボンディングの設定 のガイダンスに従って、ボンドリンクの状態を設定します。説明されている手順のいずれかに従って、結合を作成します。
次の例は、使用する必要がある構文を示しています。
結合インターフェイスを設定するための構文は、
bond=<name>[:<network_interfaces>][:options]
です。<name>
はボンディングデバイス名 (bond0
)、<network_interfaces>
は仮想機能 (VF) をカーネル内の既知の名前で表し、ip link
コマンド (eno1f0
、eno2f0
) の出力に表示されます。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
コマンドに渡すことのできるサブコマンド、オプションおよび引数を示しています。
coreos-installer install サブコマンド | |
サブコマンド | 説明 |
| Ignition 設定を ISO イメージに埋め込みます。 |
coreos-installer install サブコマンドオプション | |
オプション | 説明 |
| イメージの URL を手動で指定します。 |
| ローカルイメージファイルを手動で指定します。デバッグに使用されます。 |
| ファイルから Ignition 設定を埋め込みます。 |
| URL から Ignition 設定を埋め込みます。 |
|
Ignition 設定の |
| インストール済みシステムの Ignition プラットフォーム ID を上書きします。 |
|
インストールされたシステムのカーネルとブートローダーコンソールを設定します。 |
| インストール済みシステムにデフォルトのカーネル引数を追加します。 |
| インストール済みシステムからデフォルトのカーネル引数を削除します。 |
| インストール環境からネットワーク設定をコピーします。 重要
|
|
|
| このラベル glob でパーティションを保存します。 |
| この数または範囲でパーティションを保存します。 |
| RHCOS イメージ署名の検証を省略します。 |
| HTTPS またはハッシュなしで Ignition URL を許可します。 |
|
ターゲット CPU アーキテクチャー。有効な値は |
| エラー時のパーティションテーブルは消去しないでください。 |
| ヘルプ情報を表示します。 |
coreos-installer インストールサブコマンド引数 | |
引数 | 説明 |
| 宛先デバイス。 |
coreos-installer ISO サブコマンド | |
サブコマンド | 説明 |
| RHCOS ライブ ISO イメージをカスタマイズします。 |
| RHCOS ライブ ISO イメージをデフォルト設定に復元します。 |
| ISO イメージから埋め込まれた Ignition 設定を削除します。 |
coreos-installer ISO カスタマイズサブコマンドオプション | |
オプション | 説明 |
| 指定された Ignition 設定ファイルを宛先システムの新しい設定フラグメントにマージします。 |
| 宛先システムのカーネルとブートローダーコンソールを指定します。 |
| 指定した宛先デバイスをインストールして上書きします。 |
| 宛先システムの各起動にカーネル引数を追加します。 |
| 宛先システムの各起動からカーネル引数を削除します。 |
| ライブシステムと宛先システムに指定された NetworkManager キーファイルを使用してネットワークを設定します。 |
| Ignition によって信頼される追加の TLS 認証局を指定します。 |
| インストールする前に、指定されたスクリプトを実行します。 |
| インストール後に指定されたスクリプトを実行します。 |
| 指定されたインストーラー設定ファイルを適用します。 |
| 指定された Ignition 設定ファイルをライブ環境の新しい設定フラグメントにマージします。 |
| ライブ環境の各ブートにカーネル引数を追加します。 |
| ライブ環境の各ブートからカーネル引数を削除します。 |
|
ライブ環境の各起動で、 |
| 既存の Ignition 設定を上書きします。 |
| 新しい出力ファイルに ISO を書き込みます。 |
| ヘルプ情報を表示します。 |
coreos-installer PXE サブコマンド | |
サブコマンド | 説明 |
これらのオプションすべてがすべてのサブコマンドで使用できる訳ではないことに注意してください。 | |
| RHCOS ライブ PXE ブート設定をカスタマイズします。 |
| イメージに Ignition 設定をラップします。 |
| イメージでラップされた Ignition 設定を表示します。 |
coreos-installer PXE はサブコマンドオプションをカスタマイズします | |
オプション | 説明 |
これらのオプションすべてがすべてのサブコマンドで使用できる訳ではないことに注意してください。 | |
| 指定された Ignition 設定ファイルを宛先システムの新しい設定フラグメントにマージします。 |
| 宛先システムのカーネルとブートローダーコンソールを指定します。 |
| 指定した宛先デバイスをインストールして上書きします。 |
| ライブシステムと宛先システムに指定された NetworkManager キーファイルを使用してネットワークを設定します。 |
| Ignition によって信頼される追加の TLS 認証局を指定します。 |
| インストールする前に、指定されたスクリプトを実行します。 |
| インストール後に指定されたスクリプトを実行します。 |
| 指定されたインストーラー設定ファイルを適用します。 |
| 指定された Ignition 設定ファイルをライブ環境の新しい設定フラグメントにマージします。 |
| initramfs を新しい出力ファイルに書き込みます。 注記 このオプションは、PXE 環境に必要です。 |
| ヘルプ情報を表示します。 |
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
ブートオプションを示しています。
引数 | 説明 |
---|---|
|
必須。インストール先のシステムのブロックデバイス。 |
| オプション: インストール済みシステムに埋め込む Ignition 設定の URL。URL が指定されていない場合、Ignition 設定は埋め込まれません。HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。 |
| オプション: インストール時に保存するパーティションのコンマ区切りのラベル。glob 形式のワイルドカードが許可されます。指定したパーティションは存在する必要はありません。 |
|
オプション: インストール時に保存するパーティションのコンマ区切りのインデックス。範囲 |
|
オプション: |
| オプション: 指定した RHCOS イメージをダウンロードし、インストールします。
|
| オプション: システムはインストール後に再起動しません。インストールが完了するとプロンプトが表示され、インストール時に生じる内容を検査できます。この引数は実稼働環境では使用できず、デバッグの目的でのみ使用することが意図されています。 |
|
オプション: RHCOS イメージがインストールされるプラットフォームの Ignition プラットフォーム ID。デフォルトは |
|
オプション: ライブ起動の 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 ブートストラッププロセスの開始 を確認した。
手順
マルチパスを有効にして
multipathd
デーモンを起動するには、インストールホストで次のコマンドを実行します。$ mpathconf --enable && systemctl start multipathd.service
-
必要に応じて、PXE または ISO を起動する場合は、カーネルコマンドラインから
rd.multipath=default
を追加することで、マルチパスを有効にできます。
-
必要に応じて、PXE または ISO を起動する場合は、カーネルコマンドラインから
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 ブートストラッププロセスの開始」を参照してください。
- インストール済みのシステムで再起動します。
ワーカーノードのいずれかに移動し、カーネルコマンドライン引数 (ホストの
/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 ユーティリティーをインストールした。
手順
次のような情報を含む 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
次のコマンドを実行して、Ignition 設定を作成します。
$ butane --pretty --strict multipath-config.bu > multipath-config.ign
初回起動時の RHCOS インストールプロセスの残りを続行します。
重要プライマリーディスクもマルチパス化されていない限り、インストール中にコマンドラインに
rd.multipath
またはroot
カーネル引数を追加しないでください。
関連情報
-
特別な
coreos.inst.*
引数を使用してライブインストーラーを指示する方法は、RHCOS のインストールおよび OpenShift Container Platform ブートストラッププロセスの開始 を参照してください。