第8章 Jolokia を使用した HawtIO Online 用の Quarkus アプリケーションのセットアップ


このセクションでは、HawtIO による Quarkus アプリケーションの監視を有効にする方法を説明します。簡単なサンプルアプリケーションをセットアップする基本原則から始まります。ただし、Quarkus アプリケーションがすでに実装されている場合は、「サンプル Quarkus アプリケーションで Jolokia Java エージェントを有効にする」に進んでください。

便宜上、このドキュメントに基づいたサンプルプロジェクトがすでに実装され、ここ に公開されています。親リポジトリーのクローンを作成し、「HawtIO 対応 Quarkus アプリケーションの OpenShift へのデプロイメント」に進んでください。

Hawtio Online コンポーネントの説明

  • ユーザーまたは Hawtio Next からのあらゆるやり取りは、HTTP プロトコルを使用して Nginx ウェブサーバーに通信されます。
  • Nginx ウェブサーバーは外部向けのインターフェイスで、外部のコンシューマーに唯一表示されるサブコンポーネントです。
  • リクエストが行われると、Nginx Web サーバーは内部のゲートウェイコンポーネントに渡します。このコンポーネントは次の 2 つの異なる目的で使用されます。

    • Master-Guard Agent

      • ターゲットの Master Cluster API サーバー (OpenShift) に向けられたすべての要求は、このコンポーネントを通過する必要があり、ここで要求されたエンドポイント URL が承認されているかどうかのチェックが行われます。承認されていない URL (例: シークレットまたは configmaps (セキュリティー機密が高い場合あり) へのリクエスト) は拒否されます。
    • Jolokia Agent

      • Pod は Master Cluster 上に存在するため、最終的には Pod からの Jolokia 情報の要求も保護され、安全な方法で処理される必要があります。
      • このエージェントは、クライアントからのリクエストを内部的にターゲット Pod に送信する形式に正しく変換し、応答をクライアントに返します。

8.1. Quarkus アプリケーションサンプルの設定

  1. 新しい Quarkus アプリケーションの場合は、Maven quarkus クイックスタート が利用できます。例:

    mvn io.quarkus.platform:quarkus-maven-plugin:3.14.2:create \
    -DprojectGroupId=org.hawtio \
    -DprojectArtifactId=quarkus-helloworld \
    -Dextensions='openshift,camel-quarkus-quartz'
    1. quarkus-maven-plugin を使用してプロジェクトのスキャフォールディングを生成します。
    2. プロジェクトの maven groupIdorg.hawtio に設定し、必要に応じてカスタマイズします。
    3. maven artifactId プロジェクトを quarkus-helloworld に設定し、必要に応じてカスタマイズします。
    4. 以下の Quarkus エクステンションを使用します。

      1. openshift: Maven がローカル OpenShift クラスターにデプロイできるようにします。
      2. camel-quarkus-quartz : サンプル Quarkus アプリケーションで使用するために Camel エクステンション quartz を有効にします。
    5. クイックスタートを実行すると、Quarkus プロジェクトのスキャフォールディングが作成され、個々のアプリケーションをさらにカスタマイズできるようになります。
  2. アプリケーションをビルドして OpenShift にデプロイするには、src/main/resources/application.properties ファイルで次のプロパティーを指定する必要があります (関連の ドキュメント を参照)。

      # Set the Docker build strategy
      quarkus.openshift.build-strategy=docker
    
      # Expose the service to create an OpenShift Container Platform route
      quarkus.openshift.route.expose=true
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.