12.2. ベアメタルイベントの仕組み
Bare Metal Event Relay により、ベアメタルクラスターで実行されるアプリケーションが Redfish ハードウェアの変更や障害に迅速に対応することができます。たとえば、温度のしきい値の違反、fan の障害、ディスク損失、電源停止、メモリー障害などが挙げられます。これらのハードウェアイベントは、HTTP トランスポートまたは AMQP メカニズムを使用して配信されます。メッセージングサービスのレイテンシーは 10 ミリ秒から 20 ミリ秒です。
Bare Metal Event Relay により、ハードウェアイベントでパブリッシュ - サブスクライブサービスを使用できます。アプリケーションは、REST API を使用してイベントをサブスクライブできます。Bare Metal Event Relay は、Redfish OpenAPI v1.8 以降に準拠するハードウェアをサポートします。
12.2.1. Bare Metal Event Relay データフロー リンクのコピーリンクがクリップボードにコピーされました!
以下の図は、ベアメタルイベントのデータフローの例を示しています。
図12.1 Bare Metal Event Relay データフロー
12.2.1.1. Operator 管理の Pod リンクのコピーリンクがクリップボードにコピーされました!
Operator はカスタムリソースを使用して、HardwareEvent
CR を使用して Bare Metal Event Relay およびそのコンポーネントが含まれる Pod を管理します。
12.2.1.2. Bare Metal イベントリレー リンクのコピーリンクがクリップボードにコピーされました!
起動時に、Bare Metal Event Relay は Redfish API をクエリーし、カスタムレジストリーを含むすべてのメッセージレジストリーをダウンロードします。その後、Bare Metal Event Relay は Redfish ハードウェアからサブスクライブされたイベントを受信し始めます。
Bare Metal Event Relay により、ベアメタルクラスターで実行されるアプリケーションが Redfish ハードウェアの変更や障害に迅速に対応することができます。たとえば、温度のしきい値の違反、fan の障害、ディスク損失、電源停止、メモリー障害などが挙げられます。イベントは HardwareEvent
CR を使用してレポートされます。
12.2.1.3. クラウドネイティブイベント リンクのコピーリンクがクリップボードにコピーされました!
クラウドネイティブイベント (CNE) は、イベントデータの形式を定義する REST API 仕様です。
12.2.1.4. CNCF CloudEvents リンクのコピーリンクがクリップボードにコピーされました!
CloudEvents は、イベントデータの形式を定義するために Cloud Native Computing Foundation (CNCF) によって開発されたベンダーに依存しない仕様です。
12.2.1.5. HTTP トランスポートまたは AMQP ディスパッチルーター リンクのコピーリンクがクリップボードにコピーされました!
HTTP トランスポートまたは AMQP ディスパッチルーターは、パブリッシャーとサブスクライバー間のメッセージ配信サービスを行います。
HTTP トランスポートは、PTP およびベアメタルイベントのデフォルトのトランスポートです。可能な場合、PTP およびベアメタルイベントには AMQP ではなく HTTP トランスポートを使用してください。AMQ Interconnect は、2024 年 6 月 30 日で EOL になります。AMQ Interconnect の延長ライフサイクルサポート (ELS) は 2029 年 11 月 29 日に終了します。詳細は、Red Hat AMQ Interconnect のサポートステータス を参照してください。
12.2.1.6. クラウドイベントプロキシーサイドカー リンクのコピーリンクがクリップボードにコピーされました!
クラウドイベントプロキシーサイドカーコンテナーイメージは O-RAN API 仕様をベースとしており、ハードウェアイベントのパブリッシュ - サブスクライブイベントフレームワークを提供します。
12.2.2. サービスを解析する Redfish メッセージ リンクのコピーリンクがクリップボードにコピーされました!
Bare Metal Event Relay は Redfish イベントを処理する他に、Message
プロパティーなしでイベントのメッセージ解析を提供します。プロキシーは、起動時にハードウェアからベンダー固有のレジストリーを含むすべての Redfish メッセージブローカーをダウンロードします。イベントに Message
プロパティーが含まれていない場合、プロキシーは Redfish メッセージレジストリーを使用して Message
プロパティーおよび Resolution
プロパティーを作成し、イベントをクラウドイベントフレームワークに渡す前にイベントに追加します。このサービスにより、Redfish イベントでメッセージサイズが小さくなり、送信レイテンシーが短縮されます。
12.2.3. CLI を使用した Bare Metal Event リレーのインストール リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、CLI を使用して Bare Metal Event Relay Operator をインストールできます。
前提条件
- RedFish 対応ベースボード管理コントローラー (BMC) を持つノードでベアメタルハードウェアにインストールされるクラスター。
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてログインしている。
手順
Bare Metal Event Relay の namespace を作成します。
以下の YAML を
bare-metal-events-namespace.yaml
ファイルに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace
CR を作成します。oc create -f bare-metal-events-namespace.yaml
$ oc create -f bare-metal-events-namespace.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Bare Metal Event Relay Operator の Operator グループを作成します。
以下の YAML を
bare-metal-events-operatorgroup.yaml
ファイルに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroup
CR を作成します。oc create -f bare-metal-events-operatorgroup.yaml
$ oc create -f bare-metal-events-operatorgroup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Bare Metal Event Relay にサブスクライブします。
以下の YAML を
bare-metal-events-sub.yaml
ファイルに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Subscription
CR を作成します。oc create -f bare-metal-events-sub.yaml
$ oc create -f bare-metal-events-sub.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
Bare Metal Event Relay Operator がインストールされていることを確認するには、以下のコマンドを実行します。
oc get csv -n openshift-bare-metal-events -o custom-columns=Name:.metadata.name,Phase:.status.phase
$ oc get csv -n openshift-bare-metal-events -o custom-columns=Name:.metadata.name,Phase:.status.phase
12.2.4. Web コンソールを使用した Bare Metal Event リレーのインストール リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、Web コンソールを使用して Bare Metal Event Relay Operator をインストールできます。
前提条件
- RedFish 対応ベースボード管理コントローラー (BMC) を持つノードでベアメタルハードウェアにインストールされるクラスター。
-
cluster-admin
権限を持つユーザーとしてログインしている。
手順
OpenShift Container Platform Web コンソールを使用して Bare Metal Event Relay をインストールします。
-
OpenShift Container Platform Web コンソールで、Operators
OperatorHub をクリックします。 - 利用可能な Operator のリストから Bare Metal Event Relay を選択し、Install をクリックします。
- Install Operatorページで、Namespace を選択または作成し、openshift-bare-metal-events を選択して、Install をクリックします。
-
OpenShift Container Platform Web コンソールで、Operators
検証
オプション: 以下のチェックを実行して、Operator が正常にインストールされていることを確認できます。
-
Operators
Installed Operators ページに切り替えます。 Status が InstallSucceeded の状態で、Bare Metal Event Relay がプロジェクトにリスト表示されていることを確認します。
注記インストール時に、Operator は Failed ステータスを表示する可能性があります。インストールが後に InstallSucceeded メッセージを出して正常に実行される場合は、Failed メッセージを無視できます。
Operator がインストール済みとして表示されない場合に、さらにトラブルシューティングを実行します。
-
Operators
Installed Operators ページに移動し、Operator Subscriptions および Install Plans タブで Status にエラーがあるかどうかを検査します。 -
Workloads
Pods ページに移動し、プロジェクト namespace で Pod のログを確認します。