第6章 HawtIO Online 向けアプリケーションのセットアップ
このセクションでは、OpenShift に Camel Quarkus アプリケーションをデプロイし、Camel Quarkus で HawtIO 対応 にする方法を説明します。OpenShift にデプロイされると、HawtIO Online によって検出されます。
- この プロジェクト は、Quarkus Container Images および Kubernetes エクステンションを使用してコンテナーイメージをビルドし、Kubernetes/OpenShift クラスター (pom.xml) にデプロイします。
HawtIO 対応 設定に関する最も重要な部分は、
<properties>セクションで定義されています。HawtIO 対応 にするには、HTTPS および SSL クライアント認証が設定された状態で Jolokia エージェントをアプリケーションに接続する必要があります。クライアントプリンシパルは、HawtIO Online インスタンスが提供するものと一致する必要があります (デフォルトはhawtio-online.hawtio.svcです)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションをローカルで実行します。
以下のように、開発モードで実行します。
mvn compile quarkus:dev
mvn compile quarkus:devCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、プロジェクトをビルドし、実行可能な JAR を実行します。
mvn package && java -jar target/quarkus-app/quarkus-run.jar
mvn package && java -jar target/quarkus-app/quarkus-run.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Jolokia エージェントを使用してローカルに実行します。
この例は、以下のように Jolokia JVM エージェントをローカルで実行できます。
java -javaagent:target/quarkus-app/lib/main/org.jolokia.jolokia-agent-jvm-2.0.1-javaagent.jar -jar target/quarkus-app/quarkus-run.jar
java -javaagent:target/quarkus-app/lib/main/org.jolokia.jolokia-agent-jvm-2.0.1-javaagent.jar -jar target/quarkus-app/quarkus-run.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift にデプロイします。
これをクラスターにデプロイするには、最初に pom.xml のコンテナーイメージパラメーターを開発環境に合わせて変更します。(デフォルトのイメージ名は
quay.io/hawtio/hawtio-online-example-camel-quarkus:latestで、Quay.io のhawtio組織にプッシュする必要があります。)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次に、
-Dquarkus.container-image.push=trueオプションを使用してプロジェクトをビルドし、ビルドイメージを優先コンテナーレジストリーにプッシュします。mvn install -Dquarkus.container-image.push=true
mvn install -Dquarkus.container-image.push=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメントのリソースファイルも target/kubernetes/kubernetes.yml で生成されます。
kubectlまたはocコマンドを使用して、リソースファイルを使用してアプリケーションをデプロイします。kubectl apply -f target/kubernetes/kubernetes.yml
kubectl apply -f target/kubernetes/kubernetes.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - デプロイメントが正常に行われ、Pod が起動すると、アプリケーションログがクラスターに表示されます。