Cryostat でのサイドカーコンテナーの設定
概要
はじめに
Red Hat build of Cryostat は、JDK Flight Recorder (JFR) のコンテナーネイティブ実装です。これを使用すると、OpenShift Container Platform クラスターで実行されるワークロードで Java 仮想マシン (JVM) のパフォーマンスを安全にモニターできます。Cryostat 2.4 を使用すると、Web コンソールまたは HTTP API を使用して、コンテナー化されたアプリケーション内の JVM の JFR データを起動、停止、取得、アーカイブ、インポート、およびエクスポートできます。
ユースケースに応じて、Cryostat が提供するビルトインツールを使用して、Red Hat OpenShift クラスターに直接レコーディングを保存して分析したり、外部のモニタリングアプリケーションにレコーディングをエクスポートして、レコーディングしたデータをより詳細に分析したりできます。
Red Hat build of Cryostat は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 サイドカーコンテナーの概要
Cryostat はサイドカーコンテナーをサポートしているため、サイドカーコンテナーを使用して自動分析レポートを生成できます。
Cryostat 2.3 より前のバージョンでは、メインの Cryostat コンテナーを使用して自動分析レポートを生成する必要がありました。このアプローチはリソースを大量に消費し、メインの Cryostat コンテナーに追加のリソースをプロビジョニングする必要がある場合があるため、Cryostat アプリケーションの実行パフォーマンスに影響を与える可能性があります。
サイドカーレポートコンテナーで自動分析レポートを生成することにより、Red Hat build of Cryostat Operator を効率的に使用して、Cryostat アプリケーションのリソースをプロビジョニングできます。これにより、ターゲットアプリケーションと対話する Cryostat インスタンスが HTTP および JMX 接続を介したオーバーヘッドの少ない操作の実行に集中できるため、Cryostat コンテナーのリソースフットプリントが削減されます。
さらに、サイドカーレポートコンテナーを複製し、この複製したコンテナーをニーズに合わせて設定することもできます。
第2章 サイドカーコンテナーのセットアップ
サイドカーコンテナーは、Red Hat OpenShift Web コンソールで、Red Hat build of Cryostat Operator がインストールされている Cryostat インスタンスを作成するときにセットアップできます。
さらに、Red Hat OpenShift 上の既存の Cryostat リソースを変更することで、サイドカーコンテナーをセットアップすることもできます。この操作により、Red Hat build of Cryostat Operator に、Red Hat OpenShift 上の既存の Cryostat インストールを変更するよう指示します。
前提条件
- Red Hat OpenShift Web コンソールを使用して OpenShift Container Platform にログインしている。
- Red Hat build of Cryostat Operator を Red Hat OpenShift のプロジェクトにインストールしている。Red Hat build of Cryostat Operator を使用した Red Hat OpenShift への Cryostat のインストール (Cryostat のインストール) を参照してください。
- JMX または Cryostat エージェントが有効になっている Java アプリケーションを Cryostat インスタンスと同じ namespace 内でデプロイした。
手順
- Red Hat OpenShift Web コンソールから、Operators > Installed Operators に移動します。
- インストールされている Operator のリストから、Red Hat build of Cryostat Operator インスタンスの名前をクリックします。Web コンソールで Operator details ページが開きます。
- Provided APIs セクションで、Create instance をクリックします。
- Name フィールドなど、アスタリスクでマークされている必須フィールドに入力します。
- Create Cryostat 設定ページから、Report Options セクションに移動します。
展開アイコンをクリックし、Cryostat の自動レポート分析の実装を設定するためのオプションを表示します。
図2.1 Create Cryostat 設定ページの Report Options セクション
ニーズに合わせて、次のレポートオプションのいずれかを設定します。
-
Replicas: デフォルトは
0
です。この値は、メインの Cryostat コンテナーがレポート生成を処理することを示します。サイドカーコンテナーのレプリカが分析レポートを生成して処理できるように、0
より大きい値を設定する必要があります。 - Resources: 各サイドカーレプリカのリソース制限を設定します。展開アイコンをクリックし、各サイドカーレプリカの設定可能な制限とリクエストオプションを表示します。オプションには、CPU cores、Memory、および Storage があります。Storage オプションは、サイドカーレポート生成との関連性が最も低いオプションです。各オプションでサポートされる単位は、Red Hat OpenShift によって設定されます。
Sub Process Max Heap Size: メインの Cryostat コンテナーにのみ適用されます。レポートの生成に使用できるメインの Cryostat コンテナーの最大メモリー量を割り当てます。
注記Sub Process Max Heap Size オプションに指定する値の型には、以下の制限が存在する場合があります。
- 値が小さいと、レポートサイズがメインの Cryostat コンテナーに割り当てられたメモリーを超える可能性があるため、レポート生成リクエストが失敗する場合があります。さらに、JVM はレポートを処理するためにガベージコレクション (GC) 操作を常に実行する必要があるため、レポートの生成がタイムアウトする場合があります。
- 値が大きいと、メインの Cryostat コンテナー内で動作する Cryostat インスタンスのメモリーリソースが枯渇する可能性があります。これは、レポート生成操作が終了するまでメモリーの制限が 2 つのメモリーパーティションに適用されるためです。
オプションのデフォルト設定を使用してレポートを生成することを検討してください。デフォルト設定が要件に合わない場合は、オプションの設定を検討してください。
-
Replicas: デフォルトは
- Create をクリックし、Cryostat インスタンスを生成します。
検証
- Cryostat インスタンスの Cryostat details ページに移動し、Details タブを選択します。
- Application URL フィールドの下にある URL をクリックします。Web ブラウザーで OpenShift Container Platform ログインページにリダイレクトされたら、そこで認証情報を入力する必要があります。
- Cryostat Web コンソールから、ターゲット JVM を選択します。
- Recordings メニュー項目に移動し、Java 仮想マシン (JVM) の JFR レコーディングを開始します。
Active Recordings タブまたは Archived Recordings タブで、リストされたレコーディングの横にあるツイストアイコン (
v
) を展開して、サイドカーの自動分析情報を表示します。図2.2 サイドカーレコーディングの自動分析情報を表示する例
- Red Hat OpenShift Web コンソールに移動し、Workloads > Pods を選択します。
- Pod の名前をクリックします。
- Pod details ページで、Logs タブをクリックします。
一時停止アイコンをクリックし、ログストリームを停止します。ログウィンドウに一連のログメッセージが表示されます。
図2.3 Pod details ページの Log streaming ボタン
サイドカーレポートコンテナーがメインの Cryostat コンテナーから生成されたレポートリクエストを受信したことを確認するログメッセージを見つけます。
図2.4 Logs タブのログメッセージの例
改訂日時: 2024-01-02