2.8. OpenShift 3.x サーバーでの Fuse イメージストリームおよびテンプレートのインストール

registry.redhat.io への認証を設定した後、Red Hat Fuse on OpenShift イメージストリームおよびテンプレートをインポートおよび使用します。

手順

  1. OpenShift サーバーを起動します。
  2. OpenShift サーバーに管理者としてログインします。

    oc login -u system:admin
  3. docker-registry シークレットを作成したプロジェクトを使用していることを確認します。

    oc project openshift
  4. Fuse on OpenShift イメージストリームをインストールします。
  5. Fuse on OpenShift イメージストリームをインストールします。

    1. BASEURL 変数をイメージストリームの場所に設定します。

      Fuse 7.10.1 の場合

      BASEURL=https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_1-00010-redhat-00001

      Fuse 7.10.0 の場合

      BASEURL=https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_0-00015-redhat-00001
    2. イメージストリームをインストールするコマンドを実行します。

      oc create -n openshift -f ${BASEURL}/fis-image-streams.json
  6. クイックスタートテンプレートをインストールします。

    for template in eap-camel-amq-template.json \
     eap-camel-cdi-template.json \
     eap-camel-cxf-jaxrs-template.json \
     eap-camel-cxf-jaxws-template.json \
     karaf-camel-amq-template.json \
     karaf-camel-log-template.json \
     karaf-camel-rest-sql-template.json \
     karaf-cxf-rest-template.json ;
     do
     oc create -n openshift -f \
     https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_0-00015-redhat-00001/quickstarts/${template}
     done
  7. Spring Boot 2 のクイックスタートテンプレートをインストールします。

    for template in spring-boot-2-camel-amq-template.json \
     spring-boot-2-camel-config-template.json \
     spring-boot-2-camel-drools-template.json \
     spring-boot-2-camel-infinispan-template.json \
     spring-boot-2-camel-rest-3scale-template.json \
     spring-boot-2-camel-rest-sql-template.json \
     spring-boot-2-camel-template.json \
     spring-boot-2-camel-xa-template.json \
     spring-boot-2-camel-xml-template.json \
     spring-boot-2-cxf-jaxrs-template.json \
     spring-boot-2-cxf-jaxws-template.json \
     spring-boot-2-cxf-jaxrs-xml-template.json \
     spring-boot-2-cxf-jaxws-xml-template.json ;
     do oc create -n openshift -f \
     https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_0-00015-redhat-00001/quickstarts/${template}
     done
  8. Fuse Console のテンプレートをインストールします。

    oc create -n openshift -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_0-00015-redhat-00001/fis-console-cluster-template.json
    oc create -n openshift -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_0-00015-redhat-00001/fis-console-namespace-template.json
    注記

    Fuse Console のデプロイに関する詳細は、Set up Fuse Console on OpenShift を参照してください。

  9. Apicurito テンプレートをインストールします。

    oc create -n openshift -f ${BASEURL}/fuse-apicurito.yml
  10. (任意手順): インストールされた Fuse on OpenShift イメージおよびテンプレートを表示します。

    oc get template -n openshift

2.8.1. OpenShift 3.11 での Fuse Console の設定

OpenShift 3.11 では、以下のように Fuse Console にアクセスできます。

  • プロジェクトで実行しているすべての Fuse コンテナーを監視できるように、Fuse Console を OpenShift プロジェクトに追加する。
  • クラスター上のすべてのプロジェクトで稼働中のすべての Fuse コンテナーを監視できるように、Fuse Console を OpenShift クラスターに追加する。
  • 実行している単一の Fuse コンテナーを監視できるように、特定の Fuse Pod から Fuse Console を開く。

コマンドラインから Fuse Console テンプレートをデプロイします。

注記

Minishift または CDK ベースの環境変数に Fuse Console をインストールするには、以下の KCS の記事で説明されている手順に従います。

  • Minishift または CDK ベースの環境に Fuse Console をインストールするには、KCS 4998441 を参照してください。
  • Jolokia 認証を無効にする必要がある場合は、KCS 3988671 で説明されている回避策を参照してください。

前提条件

  • Fuse on OpenShift ガイド の説明にしたがって、Fuse Console の Fuse on OpenShift イメージストリームおよびテンプレートをインストールする必要があります。
注記
  • Fuse Console のユーザー管理は、OpenShift によって処理されます。
  • ロールベースアクセス制御 (デプロイ後に Fuse Console にアクセスするユーザーの場合) は現在 Fuse on OpenShift 3.11 では使用できません。

「OpenShift 3.11 での Fuse Console のデプロイ」

「OpenShift 3.11 の Fuse Console から単一の Fuse Pod を監視」

2.8.1.1. OpenShift 3.11 での Fuse Console のデプロイ

表2.7「Fuse Console テンプレート」は、Fuse アプリケーションのデプロイメントのタイプに応じて、コマンドラインから Fuse Console をデプロイするために使用する OpenShift 3.11 テンプレートについて説明しています。

表2.7 Fuse Console テンプレート

タイプ説明

fis-console-cluster-template.json

Fuse Console は、複数の namespace またはプロジェクトにまたがってデプロイされた Fuse アプリケーションを検出し、接続することができます。このテンプレートをデプロイするには、OpenShift の cluster-admin ロールが必要です。

fis-console-namespace-template.json

このテンプレートは、Fuse Console の現在の OpenShift プロジェクト (namespace) へのアクセスを制限するため、単一のテナントデプロイメントとして動作します。このテンプレートをデプロイするには、現在の OpenShift プロジェクトの admin ロールが必要です。

任意で以下のコマンドを実行すると、すべてのテンプレートのパラメーターの一覧を表示できます。

oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_10_0-00015-redhat-00001/fis-console-namespace-template.json
注記

Fuse Console のテンプレートは、デフォルトでエンドツーエンド暗号化を設定するため、Fuse Console のリクエストはブラウザーからクラスター内のサービスまでエンドツーエンドでセキュア化されます。

前提条件

  • OpenShift 3.11 のクラスターモードでは、cluster admin ロールとクラスターモードテンプレートが必要です。以下のコマンドを実行します。

    oc adm policy add-cluster-role-to-user cluster-admin system:serviceaccount:openshift-infra:template-instance-controller

手順

コマンドラインから Fuse Console をデプロイするには、以下を行います。

  1. 以下のコマンドの 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.0.fuse-sb2-7_10_0-00015-redhat-00001/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.0.fuse-sb2-7_10_0-00015-redhat-00001/fis-console-namespace-template.json
      注記

      namespace テンプレートの route_hostname パラメーターは OpenShift によって自動的に生成されるため、省略することが可能です。

  2. 以下のコマンドを実行して、Fuse Console デプロイメントの状態と URL を取得します。

    oc status
  3. ブラウザーから Fuse Console にアクセスするには、提供される URL (例: https://fuse-console.192.168.64.12.nip.io) を使用します。

2.8.1.2. OpenShift 3.11 の Fuse Console から単一の Fuse Pod を監視

OpenShift 3.11 で実行している Fuse Pod の Fuse Console を開きます。

前提条件

  • Pod ビューで Fuse Console へのリンクを表示するよう OpenShift を設定するには、Fuse on OpenShift イメージを実行している Pod が jolokia に設定された name 属性内で TCP ポートを宣言する必要があります。

    {
      "kind": "Pod",
      [...]
      "spec": {
        "containers": [
          {
            [...]
            "ports": [
              {
                "name": "jolokia",
                "containerPort": 8778,
                "protocol": "TCP"
              }

手順

  1. OpenShift プロジェクトの Applications → Pods ビューで、Pod 名をクリックし、実行している Fuse Pod の詳細を表示します。このページの右側に、コンテナーテンプレートの概要が表示されます。

    Container Template View

  2. このビューの Open Java Console リンクをクリックし、Fuse Console を開きます。

    Fuse Console view