2.5. リアルタイムカーネルのノードへの追加
一部の OpenShift Container Platform ワークロードには、高度な決定論的アプローチが必要になります。Linux はリアルタイムのオペレーティングシステムではありませんが、Linux のリアルタイムカーネルには、リアルタイムの特性を持つオペレーティングシステムを提供するプリエンプティブなスケジューラーが含まれます。
				OpenShift Container Platform ワークロードでこれらのリアルタイムの特性が必要な場合、マシンを Linux のリアルタイムカーネルに切り替えることができます。OpenShift Container Platform 4.19 の場合、MachineConfig オブジェクトを使用してこの切り替えを行うことができます。変更はマシン設定の kernelType 設定を realtime に変更するだけで簡単に行えますが、この変更を行う前に他のいくつかの点を考慮する必要があります。
			
- 現在、リアルタイムカーネルはワーカーノードでのみサポートされ、使用できるのはラジオアクセスネットワーク (RAN) のみになります。
- 以下の手順は、Red Hat Enterprise Linux for Real Time 8 で認定されているシステムを使用したベアメタルのインストールで完全にサポートされます。
- OpenShift Container Platform でのリアルタイムサポートは、特定のサブスクリプションに制限されます。
- 以下の手順は、Google Cloud Platform での使用もサポートされます。
前提条件
- OpenShift Container Platform クラスター (バージョン 4.4 以降) が実行中である。
- 管理者権限を持つユーザーとしてクラスターにログインしている。
手順
- リアルタイムカーネルのマシン設定を作成します。 - realtimeカーネルタイプの- MachineConfigオブジェクトが含まれる YAML ファイル (- 99-worker-realtime.yamlなど) を作成します。以下の例では、すべてのワーカーノードにリアルタイムカーネルを使用するようにクラスターに指示します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- マシン設定をクラスターに追加します。以下を入力してマシン設定をクラスターに追加します。 - oc create -f 99-worker-realtime.yaml - $ oc create -f 99-worker-realtime.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- リアルタイムカーネルを確認します。影響を受けるそれぞれのノードの再起動後に、クラスターにログインして以下のコマンドを実行し、リアルタイムカーネルが設定されたノードのセットの通常のカーネルを置き換えていることを確認します。 - oc get nodes - $ oc get nodes- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME STATUS ROLES AGE VERSION ip-10-0-143-147.us-east-2.compute.internal Ready worker 103m v1.32.3 ip-10-0-146-92.us-east-2.compute.internal Ready worker 101m v1.32.3 ip-10-0-169-2.us-east-2.compute.internal Ready worker 102m v1.32.3 - NAME STATUS ROLES AGE VERSION ip-10-0-143-147.us-east-2.compute.internal Ready worker 103m v1.32.3 ip-10-0-146-92.us-east-2.compute.internal Ready worker 101m v1.32.3 ip-10-0-169-2.us-east-2.compute.internal Ready worker 102m v1.32.3- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - oc debug node/ip-10-0-143-147.us-east-2.compute.internal - $ oc debug node/ip-10-0-143-147.us-east-2.compute.internal- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - カーネル名には - rtが含まれ、"PREEMPT RT" のテキストは、これがリアルタイムカーネルであることを示します。
- 通常のカーネルに戻るには、 - MachineConfigオブジェクトを削除します。- oc delete -f 99-worker-realtime.yaml - $ oc delete -f 99-worker-realtime.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow