第1章 Fuse Console へのアクセス
Fuse Console にアクセスする方法は Fuse ディストリビューションによって異なります。
- Fuse on OpenShift
Fuse スタンドアロン:
1.1. OpenShift 上の Fuse Console へのアクセス
OpenShift Console またはコマンドラインから Fuse Console をデプロイできます。
Fuse Console のセキュリティーおよびユーザー管理は、OpenShift によって処理されます。
Fuse Console のテンプレートは、デフォルトでエンドツーエンド暗号化を設定するため、Fuse Console のリクエストはブラウザーからクラスター内のサービスまでエンドツーエンドでセキュア化されます。
ロールベースアクセス制御 (デプロイ後に Fuse Console にアクセスするユーザーの場合) は現在 Fuse on OpenShift では使用できません。
1.1.1. 始める前の準備 (クラスターモードの設定)
Fuse Console をクラスターモードで OpenShift Container Platform 環境にデプロイする場合、クラスター管理者ロールとクラスターモードテンプレートが必要です。以下のコマンドを実行します。
oc adm policy add-cluster-role-to-user cluster-admin system:serviceaccount:openshift-infra:template-instance-controller
クラスターモードテンプレートは、デフォルトでは OpenShift Container Platform の最新バージョンでのみ利用できます。OpenShift Online のデフォルトカタログでは提供されません。
1.1.2. OpenShift Console からの Fuse Console のデプロイ
OpenShift クラスターで Fuse Console をデプロイするには、以下の手順にしたがいます。
- OpenShift コンソールで既存のプロジェクトを開くか、新しいプロジェクトを作成します。
Fuse Console を OpenShift プロジェクトに追加します。
Add to Project
Browse Catalog と選択します。 Select an item to add to the current project ページが開きます。
Search フィールドで Fuse Console を入力します。
Red Hat Fuse 7.x Console 項目が検索結果として表示されます。
注記Red Hat Fuse Console 項目が検索結果として表示されない場合や、表示される項目が最新バージョンでない場合は、『Fuse on OpenShift Guide』の「Prepare the OpenShift server」にある説明にしたがって、Fuse Console テンプレートを手作業でインストールします。
Red Hat Fuse Console 項目をクリックします。
Red Hat Fuse Console ウィザードが開きます。
Next をクリックします。ウィザードの Configuration ページが開きます。
任意で、設定パラメーターのデフォルト値を変更できます。
Create をクリックします。
ウィザードの Results ページに Red Hat Fuse Console が作成されたことが表示されます。
- Continue to the project overview をクリックし、Fuse Console アプリケーションがプロジェクトに追加されたことを確認します。
Fuse Console を開き、提供された URL をクリックした後にログインします。
ブラウザーに Authorize Access ページが表示され、必要なパーミッションが表示されます。
Allow selected permissons をクリックします。
ブラウザーで Fuse Console が開かれ、プロジェクトで実行されている Fuse の Pod が表示されます。
表示するアプリケーションの Connect をクリックします。
新しいブラウザーウィンドウが開かれ、Fuse Console にアプリケーションが表示されます。
1.1.3. コマンドラインからの Fuse Console のデプロイ
表1.1「Fuse Console テンプレート」 は、Fuse アプリケーションのデプロイメントのタイプに応じて、コマンドラインから Fuse Console へのアクセスに使用できる 2 つの OpenShift テンプレートについて説明しています。
タイプ | 説明 |
---|---|
cluster | クラスター管理者ロールの作成を必要とする OAuth クライアントを使用します。Fuse Console は、複数の namespace またはプロジェクトにまたがってデプロイされた Fuse アプリケーションを検出し、接続することができます。 |
namespace | プロジェクトでの管理者ロールの作成のみを必要とする、サービスアカウントを OAuth クライアントとして使用します。これにより、Fuse Console のこの単一プロジェクトへのアクセスが制限されるため、単一テナントのデプロイメントとして動作します。 |
任意で、以下のコマンドを実行するとテンプレートパラメーターの一覧を表示できます。
oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.fuse-730065-redhat-00002/fis-console-namespace-template.json
コマンドラインから Fuse Console をデプロイするには、以下を行います。
以下のコマンドの 1 つを実行して、Fuse Console テンプレートをベースとした新しいアプリケーションを作成します。コマンドの myproject はプロジェクトの名前に置き換えます。
Fuse Console の cluster テンプレートの場合は、以下のようになります。
myhost
は Fuse Console にアクセスするホストの名前になります。oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.fuse-730065-redhat-00002/fis-console-cluster-template.json -p ROUTE_HOSTNAME=myhost
Fuse Console の namespace テンプレートの場合は以下のようになります。
oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.fuse-730065-redhat-00002/fis-console-namespace-template.json
注記namespace テンプレートの route_hostname パラメーターは OpenShift によって自動的に生成されるため、省略することが可能です。
以下のコマンドを実行し、デプロイメントの状態を取得します。
oc status
- ブラウザーから Fuse Console にアクセスするには、提供される URL (例: https://fuse-console.192.168.64.12.nip.io) を使用します。
1.2. Spring Boot スタンドアロンの Fuse Console へのアクセス
スタンドアロン Fuse Spring Boot ディストリビューションの Fuse Console にアクセスするには、以下を実行します。
hawtio-springboot を Fuse アプリケーションの
pom.xml
ファイル依存関係に追加します。<dependency> <groupId>io.hawt</groupId> <artifactId>hawtio-springboot</artifactId> </dependency>
バージョンは Maven BOM によって提供されるため、指定する必要はありません。
src/main/resources/application.properties
ファイルを編集します。以下のプロパティーを false に設定します。
-
endpoints.jolokia.sensitive
-
endpoints.hawtio.sensitive
-
hawtio.authenticationEnabled
-
以下のプロパティーを true に設定します。
-
endpoints.hawtio.enabled
endpoints.jolokia.enabled
application.properties の設定は以下の例のようになるはずです。
# ports server.port=8080 management.port=10001 # enable management endpoints for healthchecks and hawtio endpoints.enabled = false endpoints.hawtio.enabled = true endpoints.jolokia.enabled = true endpoints.health.enabled = true management.health.defaults.enabled=false camel.health.enabled=false camel.health.indicator.enabled=true endpoints.jolokia.sensitive=false endpoints.hawtio.sensitive=false hawtio.authenticationEnabled=false
注記デフォルトでは、Spring Boot の Fuse Console の認証は無効になっています。任意で、Fuse Console ディストリビューションに固有するコードを作成すると、認証を有効にすることができます。例は次のとおりです。
https://github.com/hawtio/hawtio/tree/master/examples/springboot-authentication
-
Fuse アプリケーションを実行します。
mvn spring-boot:run
Fuse Console の URL のポート番号を特定するには、
src/main/resources/application.properties
ファイルで management.port の設定値を見つけます。以下に例を示します。management.port = 10001
ブラウザーで Fuse Console を開くには、以下の URL 構文を使用します。nnnnn は management.port プロパティーの値に置き換えます。
1.3. JBoss EAP スタンドアロンの Fuse Console へのアクセス
Red Hat JBoss Enterprise Application Platform の Fuse Console にアクセスする前に、JBoss EAP コンテナーに Fuse をインストールする必要があります。ステップごとの手順は、『Installing on JBoss EAP』を参照してください。
スタンドアロン JBoss EAP ディストリビューションの Fuse Console にアクセスするには、以下を実行します。
Red Hat Fuse スタンドアロンを以下のコマンドで起動します。
Linux/Mac OS の場合:
./bin/standalone.sh
Windows の場合:
./bin/standalone.bat
-
Web ブラウザーで URL を入力し、Fuse Console に接続します。例:
http://localhost:8080/hawtio
- ログインページでユーザー名とパスワードを入力し、Log In をクリックします。
デフォルトでは、Fuse Console に Home ページが表示されます。左側のナビゲーションタブには実行中のプラグインが表示されます。
1.3.1. Fuse Console のロード遅延の解決
Fuse Console のメインページがブラウザーに表示されるまで時間がかかる場合、ログファイルの数とサイズを削減する必要がある場合があります。ログファイルの最大サイズ (rotate-size) に到達し、ファイル数を維持する (max-backup-index) 場合は、periodic-size-rotating-file-handler
を使用してファイルのローテーションを行うことができます。このハンドラーの使用方法に関する詳細は、Red Hat JBoss Enterprise Application Platform の製品ドキュメントを参照してください。
1.4. Karaf スタンドアロンの Fuse Console へのアクセス
Apache Karaf スタンドアロンの Fuse Console へアクセスするには、以下を行います。
- Karaf コンテナーに Fuse をインストールします。ステップごとの手順は『Installing on Apache Karaf』を参照してください。
コマンドラインで、Red Hat Fuse をインストールしたディレクトリーに移動し、以下のコマンドを実行して Fuse スタンドアロンを起動します。
./bin/fuse
Karaf コンソールが起動し、バージョン情報、デフォルトの Fuse Console URL、および一般的なコマンドのリストが表示されます。
-
ブラウザーで URL を入力し、Fuse Console に接続します。例:
http://localhost:8181/hawtio
- ログインページでユーザー名とパスワードを入力し、Log In をクリックします。
デフォルトでは、Fuse Console に Home ページが表示されます。左側のナビゲーションタブには実行中のプラグインが表示されます。